インスタンス変数またはプロパティを作成するときに実行する必要があるプロセスは何ですか?
プロパティの合成とは、ivar を宣言し、アクセサ メソッドを定義することであり、プロパティを割り当てて初期化することではありません。適切な時点で初期化する必要があります (通常は、オブジェクト インスタンスの初期化中、-init*
またはビューが表示される直前 (例: -viewDidLoad
))。
プロパティを定義するときの、強い、弱い、非アトミック、アトミック、割り当てなどの違いは何ですか? 強い、弱い、非アトミック、アトミック、割り当てなどはいつ行うべきですか?
Strong、weak、assign は、オブジェクト インスタンスの参照方法を変更する修飾子です。自動参照カウントのドキュメントを参照してください。( WikipediaおよびApple のドキュメント)
非アトミックおよびアトミックは、アクセサーの合成方法を変更する修飾子です。thisの宣言されたプロパティのセクションを参照してください。
プロパティを作成したとしても、インターフェイス セクションで変数を定義する必要がありますか?
いいえ。現時点では、最新の SDK のコンパイラがこれらを行うため、その必要はありません。たとえば、 property: を宣言した場合、 @synthesize ステートメントを省略した場合でも、無料で ivar を@property (strong, nonatomic) NSData *data1;
取得できます。NSData *_data1
viewUnload セクションで変数を nil に設定する必要があるのはいつですか?
いいえ。ところで、-viewDidUnload
iOS 6.0 では非推奨です。