[解決済み] デリゲートプロパティ宣言におけるweakとassignの違いとは?
2023-04-05 11:57:24
質問
この違いは何ですか?
@property (nonatomic, weak) id <SubClassDelegate> delegate;
とこれを
@property (nonatomic, assign) id <SubClassDelegate> delegate;
デリゲート用のプロパティを使いたい。
どのように解決するのですか?
唯一の違いは
weak
と
assign
は、もしオブジェクトが
weak
プロパティが指すオブジェクトが割り当て解除されると
weak
ポインタの値は
nil
に設定され、ゴミにアクセスする危険はありません。もし
assign
を使用する場合、そのようなことは起こらないので、オブジェクトがあなたの下から割り当て解除され、それにアクセスしようとすると、ガベージにアクセスすることになります。
Objective-Cのオブジェクトの場合、もしあなたが
weak
を使える環境であれば、それを使うべきでしょう。
関連
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] HTMLのプロパティと属性の違いは何ですか?
-
[解決済み] クラスメソッドとインスタンスメソッドの違いは何ですか?
-
[解決済み】なぜFunc<T>ではなくExpression<Func<T>を使うのですか?
-
[解決済み】Objective-C ARC: strong vs retainとweak vs assign
-
[解決済み] Objective-Cのデリゲートには通常、retainではなくassignというプロパティが与えられるのはなぜですか?
-
[解決済み] Objective-Cでnilにメッセージを送信する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Objective-C ARC: strong vs retainとweak vs assign
-
[解決済み] ARCを使用する場合、deallocでプロパティをnilに設定するのですか?
-
[解決済み] ARCで__autoreleasing ownership修飾子を記述する必要があるのは、どのような場合ですか?
-
[解決済み] switch文の中で変数を宣言する [重複]。
-
[解決済み] NSDictionaryにboolean値を追加するにはどうすればよいですか?
-
[解決済み] 警告 "format が文字列リテラルでなく、format の引数がない場合"
-
[解決済み] Swift ネイティブベースクラスまたは NSObject
-
[解決済み] IOS: 角の丸いUIImageまたはUIImageViewを作成する
-
[解決済み] UIButtonのテキストを変更する
-
[解決済み] Xcodeの "unused variable "の警告を消すにはどうしたらいいですか?