クラスでインスタンスを強参照で保持していると循環参照になってしまうことは理解しているのですが、クロージャの場合どのような時に弱参照にしないと循環参照になってしまうのかが、いまいちわかりません。
コード
例1
Swift
1 let hoge:String = "Hello world" 2 var sample = { () -> Void in 3 print(hoge) 4 }
例2
Swift
1 2 var sample = { () -> Void in 3 let hoge:String = "Hello world" 4 print(hoge) 5 }
2つ例を書いてみましたが、例1がhogeをweakで設定しないと循環参照を起こし、例2は現状のままで問題ないという認識であっているのでしょうか?
また、unownedはどのような時に使うのでしょか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。