SwiftにはNSStringとStringの2つの文字列型があり、どういう違いがあるのか気になったので調べました。
NSStringとStringの違いは?
Objective-CではNSString型が使用されていましたが、Swiftになって新たに追加されたのがString型です。
SwiftではString型の利用が推奨されています。
SwiftでNSStringをほとんど気にしなくていいのは、Objective-CのライブラリでNSString型のものを、Swiftから使おうとしたときにはStringに見えるようになっているからです。
では実際の使うときの違いは?
NSStringにはある文字列の数を返すlengthプロパティなどのプロパティやメソッドがあるが、Stringでは使えない点です。
サンプルコード
- 7行目
String型で文字数を取得するときはcountプロパティを使います。
- 10行目
String型の変数もNSString型にキャストすればlengthプロパティをつかうことも可能です。
結局のところ
現状ではSwiftでプログラムを書くためにObjective-Cのライブラリが欠かせないのに、事実上NSStringを使わなければならないケースはほとんどありません。
結局、NSStringではなく**Stringを使えばいい!**ということです。
