• ベストアンサー

NS(項目)とNSMutable(項目)の違い

iOSプログラミング初心者です。 NS(項目)とNSMutable(項目)は、具体的に何が違いますか? NSなら一度値を初期化してから値を二度と変えずに、NSMutableは何度も値を変更する項目に使うと読みましたが、NSだけを使えば初期化した値を変えないわけがないのに、どうしてわざわざNSMutableを使わないといけないのですか メモリーの割り当てと解放と関係がありますか?NSMutableはどういうメリットがありますか? わかる方がいらっしゃいましたら、教えていただきたいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.1

> NSなら一度値を初期化してから値を二度と変えずに、NSMutableは何度も値を変更する項目に使うと読みましたが、 外れているとはいいませんが、当たっているともいえません。 Mutableがつくコレクションクラスは、可変長であるのが違いです。 たとえばNSArrayは、生成、初期化するとき、かならず要素数が決まっていなければなりません。対してNSMutableArrayは、「addObject:」で要素を追加したり、「removeObject:」で要素を削除して、総要素数を変化させることができます。 NSArrayでも、要素であるオブジェクトの内容を変更することは可能です。だから「NSなら一度値を初期化してから値を二度と変えずに、」ということはいえません。 こういう違いは、それぞれのクラスのリファレンスを、ぼーっと眺めているだけで、見えてきます。Xcodeのヘルプで、かんたんにクラスのリファレンスを閲覧できるのですから、活用しない手はありませんし、活用するしないで、あなたの進歩に雲泥の差ができるでしょう。

2B2B
質問者

お礼

ありがとうございます。参考になりました。変数の長さを自由に変更できるということですね。

関連するQ&A