Objective-Cのpropertyの使い方がいまいち分からなかったので調査してみた。
というのも、NSString値を異なるビューの処理で使用した際に、高い確率で処理が落ちるので調べてみたらどうもpropertyが怪しかったからだ。
ヘッダで
@property (nonatomic,assign) NSString *srt;
と宣言してるけど、恐らくnonatomicかassignのオプションが問題ないんだろうなぁ・・・とここまでは予想できた。
しかしどう変えればいいかが分からない。
色々なサイトで調べてみたけど、どうもピンとくるものがない。
困った・・・と思っていたところで下記のサイトに遭遇!
iPhoneアプリケーション開発: Objective-Cのプロパティについて
http://konton.ninpou.jp/program/cocoa/property.html
上記サイトより抜粋。
---------- ここから ----------
iPhoneアプリケーションの場合、普通の変数についてはnonatomicとassignを、 自分で使うビューやラベル、配列、ディクショナリーなどにはnonatomicとretainを、文字列やデータなどにはnonatomicとcopyを設定するようです。 BOOL値については細かい属性はつけずそのまま書くだけで良いようです。
---------- ここまで ----------
なるほど・・・
さっそく
@property (nonatomic,copy) NSString *srt;
に変更して再実行!
やったー!!
無事に処理落ちしなくなりました♪
本当に助かる情報でした。ありがたい。
他のオプションの説明は下記のサイトに詳しく説明があったのでメモ。
Objective-Cのクラス定義を理解しよう - @IT
http://www.atmarkit.co.jp/fcoding/articles/objc/03/objc03c.html
勉強になる。