LoginSignup
34
34

More than 5 years have passed since last update.

Swift - 1.0 (Xcode 6.0) と 1.1 (Xcode 6.1) 両方に対応する

Posted at

すでにして Swift 1.0 と Swift 1.1 の Conflict が発生したので、対処法を。

Foo or Foo?

問題となったのは、ここ

Failable Initializer

これまでは

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 ++

まあ、(Swift 1.0|Xcode 6.0)もYosemiteと同時リリースなはずの(Swift 1.1|Xcode 6.1)までの短い命ではあるのですが、
すでに意外と現場で使われはじめているというのは、swift-jsonに対するバグレポートからも伺い知ることが出来ました。

早く来い来い Xcode 6.1 …

Dan.the.Swift.Newbie

34
34
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
34
34