[解決済み】Objective-Cのstrongとweakの違い。
質問
Obj-Cは初めてなので、最初の質問です。
とはどのような違いがあるのでしょうか?
strong
と
weak
で
@property
オブジェクトへのポインタの宣言?
また
nonatomic
の意味は?
どのように解決するのですか?
強い参照(ほとんどの場合、これを使用します)は、このプロパティ/変数で参照しているオブジェクトを所有したいことを意味します。コンパイラは、このプロパティに代入したオブジェクトが、強い参照で指している限り、破壊されないように配慮してくれます。一度だけ、このプロパティを
nil
を指定すると、そのオブジェクトは破壊されます (他のオブジェクトがそのオブジェクトへの強い参照を保持していない限り)。
これに対して、弱参照では、オブジェクトの寿命をコントロールしたくないということを意味します。弱く参照しているオブジェクトは、少なくとも一つの他のオブジェクトが強い参照を保持しているからこそ、生き続けることができるのです。そうでなくなった時点でそのオブジェクトは破棄され、 あなたの weak プロパティは自動的に
nil
. iOSにおける弱参照の最も頻繁な使用例は以下の通りです。
-
デリゲートプロパティは、retain cyclesを避けるために弱く参照されることがよくあります。
-
ビューコントローラのメインビューのサブビューやコントロールは、 すでにメインビューによって強く保持されているからです。
atomicとnonatomicは、コンパイラがプロパティ用に合成するゲッターとセッターのメソッドのスレッドセーフを指します。atomic(デフォルト)はコンパイラにアクセッサメソッドをスレッドセーフにするよう指示し(ivarがアクセスされる前にロックを追加する)、nonatomicはその逆を行います。非アトミックの利点は、パフォーマンスが若干高くなることです。iOSでは、Appleはほとんどすべてのプロパティにnonatomicを使用しているので、一般的なアドバイスとして、あなたも同じようにすることをお勧めします。
関連
-
[解決済み] Objective-CでNSStringsを連結するためのショートカット集
-
[解決済み] Objective-Cの定数
-
[解決済み] Objective-Cの#importと#includeの違いは何ですか?
-
[解決済み] Xcodeでコンソールに何かを印刷するには?
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] Objective-Cのtypedef enumとは何ですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] NSStringにパーセント記号を追加する方法
-
[解決済み】Objective-C ARC: strong vs retainとweak vs assign
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] dispatch_after - GCD in Swift?
-
[解決済み] NSTaggedPointerStringをNSStringに変換する。
-
[解決済み] ターゲット・パターンに '%' が含まれていません。メイクファイル
-
[解決済み] インスタンスに送信されたセレクタが認識されない」を解決するには?
-
[解決済み] NSDictionary または NSMutableDictionary にキーが含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Xcode 4でNSZombieEnabledを設定するにはどうすればよいですか?
-
[解決済み] objective-c/cocoaで例外を投げる
-
[解決済み】UITableViewControllerを使用しないUIRefreshControl
-
[解決済み】weak referenceとunowned referenceの違いは何ですか?
-
[解決済み】新しい自動リファレンスカウント機構はどのように機能するのですか?