すでにして Swift 1.0 と Swift 1.1 の Conflict が発生したので、対処法を。
Foo or Foo?
問題となったのは、ここ
これまでは
let foo = Foo.fromBar(yourBar) // foo:Foo?
とFactory Methodを用意していたものが、
let foo = Foo(bar:yourBar) // foo:Foo?
Swift 1.0 ではFoo
、1.1ではFoo?
と型が違うわけです。どうすればこの差を吸収できるのでしょう?
Foo as Foo?
以下がその答えとなります。
let foo = Foo(bar:yourBar) as Foo? // Good for 1.[01]
この件は、swift-jsonで発覚しました。以下、その時のtwitterにおける会話。
.@__gfx__ 1.1でもvalid。git push した。念のため確認を
— Dan Kogai (@dankogai) September 21, 2014
@gfx ++
まあ、(Swift 1.0|Xcode 6.0)もYosemiteと同時リリースなはずの(Swift 1.1|Xcode 6.1)までの短い命ではあるのですが、
すでに意外と現場で使われはじめているというのは、swift-jsonに対するバグレポートからも伺い知ることが出来ました。
早く来い来い Xcode 6.1 …
Dan.the.Swift.Newbie