setterメソッドとgetterメソッドのretain、assign、copyのコードを見たいのですが、誰かが便利なスタックオーバーフローの投稿やその他のチュートリアルリンクを教えてくれませんか。よろしくお願いしますSaadAhmad
質問する
897 次
2 に答える
1
通常、インスタンス変数の所有権を主張する必要があります。Objective-Cのメモリ管理ルールを参照してください。保持プロパティを使用すると、プロパティセッターは新しい値の所有権を主張し、古い値の所有権を放棄します。割り当てプロパティを使用すると、周囲のコードがこれを実行する必要があります。これは、責任と関心の分離の点で同じように混乱します。割り当てプロパティを使用する理由は、値を保持できない場合(BOOLやNSRectなどの非オブジェクトタイプなど)、または保持すると望ましくない副作用が発生する場合です。
ちなみに、NSStringの場合、正しい種類のプロパティは通常コピーです。そうすれば、誰かがNSMutableString(有効です—これは一種のNSStringです)を渡しても、あなたの下から変更することはできません。
これらのリンクを通り抜けてください。これらのリンクであなたがよりよく理解することを願っています-
于 2012-10-01T09:00:29.893 に答える
1
このガイドでは、原則を非常によく説明しています。私も何度か参考にさせていただきました。
http://blog.ablepear.com/2010/04/objective-c-tuesdays-instance-variables_20.html
于 2012-10-01T09:02:52.600 に答える