2
Swift 2で以下のコードが動作する理由は誰にも分かりますが、何とかSwift 3で壊れますか?それは単に誰もがこの背後にある理由が何であるかを知っているこのSwift 3でクローズドレンジを作成していない
let range: Range = 0..<3
を行うことによって固定することができる。しかし
let range: Range = 0...2
?
Swift 2で以下のコードが動作する理由は誰にも分かりますが、何とかSwift 3で壊れますか?それは単に誰もがこの背後にある理由が何であるかを知っているこのSwift 3でクローズドレンジを作成していない
let range: Range = 0..<3
を行うことによって固定することができる。しかし
let range: Range = 0...2
?
オペレータ...
および..<
は、Swift 2.xで同じタイプのRange
を生成するために使用されました。問題を修正する必要がありますClosedRange
に最初の割り当てタイプを変更する
Range
CountableRange
ClosedRange
CountableClosedRange
:今、彼らは、異なるタイプ(migration guide)を生成します。
let range = 0...2
http://stackoverflow.com/questions/36157777/initstartend-is-deprecated-it-will-be-removed-in-swift-3-use:いっそのこと、スウィフトはあなたのための型を推論しましょう-the-o –
明示的な型のナンセンスアノテーションの非常に良い例です。コンパイラが助けを必要とする場合(例えば、*何かのあいまいな使用... *)、あなたに伝えます。 – vadian