LoginSignup
51
51

More than 5 years have passed since last update.

Swift - Xcode 6.1-Beta2 における変更点

Posted at

というわけでつつがなくMacBook Airより高いキョダiPhone128GBを予約するやいなや、YosemiteがDP8に、XCodeが6.1-Beta2になっていたので。

Swiftが1.1に

1.0が出たばかりだというのになんとも気が早いことです。Xcodeも6.1こそ本命ということでしょうね。

Beta6より引き続き…

Optional型に関するさらなる改良はずっとやっているみたいです。

Failable Initializer

で、1.0と1.1で最も変わったのがこれでしょう。これまでは

let foo = Foo.fromBar(yourBar) // foo:Foo?

とFactory Methodを用意していたものが、

let foo = Foo(bar:yourBar) // foo:Foo?

と、Failable Initializerに移行されました。Failableというだけあって、戻り値はFooではなくFoo?です。

自分で書く場合init()の代わりにinit?()を定義し、その中でreturn nilすればよいようです。

Objective-Cのinitializerのimport

nilを明確に返す場合はinit?、そうでない場合はinit!としてimportされるようです。

enum の.fromRaw(value)もYourEnum(rawValue:value)に

RawRepresentableプロトコルに従った(つまりで型を継承している)enumはにはもれなく.fromRaw(val)メソッドがついてきたのですが、これもYourEnum(rawValue:val)という書き方に変わりました。

加えて.toRaw()メソッドもrawValueプロパティに置き換えられています

enum Foo: Int { case A = 0, B = 1, C = 2 }
let foo = Foo(rawValue: 2)! // 以前は 'Foo.fromRaw(2)!’
println(foo.rawValue) // 以前は 'foo.toRaw()'!

@UIApplicationMainアトリビュート

iOSにおける@UIApplicationMainに相当する@NSApplicationMainがOS Xのapp delegateにおける暗黙のmainを指定するアトリビュートとして追加されました。

私からは以上です。

Dan.the.Swift.Newbie?

51
51
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
51