Swiftで遊ぼう! - 485 - Stringの取り扱い...
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
表題のString型の話じゃありません。
Swift2になって、String型の取り扱いがシンプルになりました。というか、String型は本来Stringを扱うためだけに仕様変更がなされたと考えていいんじゃないでしょうか。
SwiftのString型は、Objective-CのNSString型の進化形と当初考えていました。しかし、皆さんが仰るようにNSString型で扱えたプロパティやメソッドがそぎ落とされたため、既存のコードに変更を加える必要があります。
アップルはこの解決策としてObjective-Cとブリッジングさせる「キャスト(as)」を取りあえず用意したんじゃないでしょうか。最終的にキャストなんて知識も要らなくなる日が来ると思いますが。
Swift1の頃は、NSStringにキャストしてメソッドを使って変更してからStringに戻すという手間をかけていました。
しかし、Swift2になって、それもできないようにしている感じです。NSStringでも本来の文字列を扱うという機能以外のメソッドは廃止になっています。
そう思ったのは、チュートリアルで使われていたNSStringのメソッド「lastPathComponent」がSwift2になって使えなくなったからです。
このメソッド、NSString型のパス(path)情報、アドレス情報の文字列から最後のファイル名を取り出すメソッドですが、どう考えても文字列を操作するという本来のメソッドでは無いですね。
このメソッドをどのように変えればいいのか探していると、ありました!
NSURLクラスを使うんです! 凄く自然に受け入れられました。
まだ自分で試していないので後で勉強します。
今日はここまで。