[解決済み] なぜ "weak "というキーワードは、クラスおよびクラスバインドプロトコル型にのみ適用できるのですか?
2023-07-16 01:14:13
疑問点
変数を
weak
として宣言しているとき、Xcodeから時々エラーメッセージが表示されます。
'weak'はクラスとクラスにバインドされたプロトコルタイプにのみ適用されるかもしれません。
または
'weak' はクラスバウンドしない 'SomeProtocol' に適用してはいけません。クラスバウンドするプロトコル適合性を追加することを検討してください。
私はなぜキーワード
weak
はクラスおよびクラスにバインドされたプロトコル・タイプにのみ適用されるのでしょうか?この要求の背景にはどのような理由があるのでしょうか?
どのように解決するのですか?
weak
は参照型のための修飾子です(値型とは対照的に
struct
や組み込みの値型とは異なります)。
参照型では、同じオブジェクトに複数の参照を持たせることができます。オブジェクトは最後の強い参照がそれを参照するのを止めると、割り当て解除されます(弱い参照はカウントされません)。
一方、値型はコピーによって割り当てられます。参照カウントは適用されないので
weak
修飾子は意味を持ちません。
関連
-
Swiftがエラーを報告。アボートトラップ:6
-
[解決済み] 純粋な」Swift で弱いプロトコル参照を作るには (@objc なしで) どうしたらいいですか?
-
[解決済み] Swift 3でカスタム通知を作成するには?
-
[解決済み] Swift 3で現在の日付を取得する?[クローズド]
-
[解決済み] Swift: インデックスで文字列配列を置換する
-
[解決済み] Swift で UIViewController のサブクラス用のカスタムイニシャライザを作るには?
-
[解決済み] ボタンを無効化する
-
[解決済み] Swiftでクラスメソッド/プロパティを作成するには?
-
[解決済み] Swiftのインライン条件?
-
[解決済み] Swift 3 GCD API変更後のdispatch_once
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swift 3で現在の日付を取得する?[クローズド]
-
[解決済み] Swiftで複数のカスタムセルを持つUITableview
-
[解決済み] ""内の二重引用符を印刷するには?
-
[解決済み] 計算された読み取り専用プロパティとSwiftの関数との比較
-
[解決済み] ラウンドトリップスウィフト番号の種類は、データとの間で
-
[解決済み] Swift で型に表示されるテキスト表現を変更するにはどうしたらいいですか?
-
[解決済み] SwiftUIでリストの背景色を変更するには?
-
[解決済み] Swiftで配列の最後の要素を取得する方法は?
-
[解決済み] SceneDelegateとAppDelegateの違いについて
-
[解決済み] Swift 3 GCD API変更後のdispatch_once