質問は基本的ですが、私はIOSプログラミングを進めていくことが非常に重要であることがわかりました。時にはインスタンス変数のみを宣言していて、関連するプロパティを設定していないこともあります。いくつかのプロパティを宣言し、合成を使用して値を取得または設定するものがあります。コンパイルによって警告が表示されるときに、両方のコードを宣言する必要がある場合があります。 Objective Cでのプロパティの操作の基本は何ですか?私はインスタンス変数のゲッターとセッターを作成する基本的な要件を知っていますが、いつですか? 私は何度もプロパティを使用しないことを何度も見てきましたが、その後も変数の値を簡単に設定して取得しています。また、原子、非原子、強、保持のような種類のプロパティは、私には非常に不明です。 4.2へのXCODEのアップグラデーションは、メモリ管理に関する私の考えを揺さぶっています。誰かが私の心の上に雲をクリアすることができますか?目的C:@property宣言とインスタンス変数の宣言
答えて
プロパティは、主に次の理由により、常に直接IVARのアクセスよりも望ましい方法です。
- あなたはサブクラスにゲッターやセッターをオーバーライドすることができ
- あなたが「割り当て振る舞い」を定義することができます(つまり
copy
- あなたはIVARアクセス
キーワードを同期させることができ、assign
、retain/strong
、weak
):
copy
:assign
を設定するときに、オブジェクトはIVARにコピーされる:retain/strong
を設定するときに、オブジェクトのポインタはIVARに割り当てられている:オブジェクトが設定weak
上に保持されている:ARCでこれは割り当てと似ていますが、インスタンスが割り当て解除されたときに自動的にnil
に設定され、ガベージコレクション環境でも使用されます。nonatomic
は:アクセサは@synchronized
(スレッドセーフ)、したがって、より速くatomic
ではありません:アクセサは@synchronized
(スレッドセーフ)であるので、遅く
は、一般的に、あなたは常にIVARを合成する必要があります。パフォーマンス上の理由からより速いアクセスが必要な場合は、合成されたivarにいつでもアクセスできます。
すべてのキーワードの小さな定義は本当に役に立ちます...ありがとう..:) –
これが彼の答えの隣のチェックマーク(ダニ) – zenopolis
タイピング中に、「Erik Aigner」がすばらしい答えでより速くなることがわかりました。性質上EENの例えば
、合成およびカスタムセッタースタック上の私の答えを参照してください。 Objective-C convention to prevent "local declaration hides instance variable" warning
ARCのステーターのチュートリアルについてはレイのexplenationは彼のウェブサイトをwenderlich参照してください。
をクリックしてErikに報酬を与えるのに役立つなら、これは私が探しているものです.thanks Juzz –
- 1. iOS 5.1:IBOutletインスタンス変数と@property宣言
- 2. クラス宣言とインスタンス宣言の型キーワード
- 3. C++変数宣言
- 4. c#変数宣言
- 5. エラーメッセージC言語での変数宣言
- 6. C++メソッド変数宣言
- 7. 宣言変数(ANSI C)
- 8. @ sign in C変数宣言
- 9. C - 宣言時の宣言されていない変数
- 10. インスタンス宣言
- 11. C++のメソッド定義と変数宣言
- 12. Items WPFで宣言的にC#に宣言的にソース
- 13. iPhone、アクセスアレイは、ローカル宣言はインスタンス変数
- 14. C++クラスの静的宣言
- 15. 宣言SQL変数 -
- 16. 変数宣言と代入
- 17. 変数宣言とデータ型
- 18. C複数の変数宣言
- 19. Cの可変宣言コンセプト
- 20. objective-cの属性と@propertyの宣言の差
- 21. 宣言的言語のXSLT
- 22. 目的関数cの暗黙の宣言に伴う問題
- 23. ヘッダーファイルの変数の宣言C++
- 24. C++空の関数宣言
- 25. C++関数の宣言
- 26. 宣言的プログレスバーバインディング
- 27. C++、 'if'式の変数宣言
- 28. C++ポインタ、宣言
- 29. C++プライオリティキュー宣言
- 30. C++クラス宣言
http://www.raywenderlich.com/tutorialsこのサイトで素晴らしいチュートリアルをチェックしてください。このサイトから多くの概念を学びました。 – Aaron
ありがとうAaron ... –