- ベストアンサー
NS(項目)とNSMutable(項目)の違い
iOSプログラミング初心者です。 NS(項目)とNSMutable(項目)は、具体的に何が違いますか? NSなら一度値を初期化してから値を二度と変えずに、NSMutableは何度も値を変更する項目に使うと読みましたが、NSだけを使えば初期化した値を変えないわけがないのに、どうしてわざわざNSMutableを使わないといけないのですか メモリーの割り当てと解放と関係がありますか?NSMutableはどういうメリットがありますか? わかる方がいらっしゃいましたら、教えていただきたいのです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> NSなら一度値を初期化してから値を二度と変えずに、NSMutableは何度も値を変更する項目に使うと読みましたが、 外れているとはいいませんが、当たっているともいえません。 Mutableがつくコレクションクラスは、可変長であるのが違いです。 たとえばNSArrayは、生成、初期化するとき、かならず要素数が決まっていなければなりません。対してNSMutableArrayは、「addObject:」で要素を追加したり、「removeObject:」で要素を削除して、総要素数を変化させることができます。 NSArrayでも、要素であるオブジェクトの内容を変更することは可能です。だから「NSなら一度値を初期化してから値を二度と変えずに、」ということはいえません。 こういう違いは、それぞれのクラスのリファレンスを、ぼーっと眺めているだけで、見えてきます。Xcodeのヘルプで、かんたんにクラスのリファレンスを閲覧できるのですから、活用しない手はありませんし、活用するしないで、あなたの進歩に雲泥の差ができるでしょう。
お礼
ありがとうございます。参考になりました。変数の長さを自由に変更できるということですね。