Avatar
class Cat { var parent: Cat? var child: Cat? } func createSomething() -> Cat { let cat1 = Cat() let cat2 = Cat() let cat3 = Cat() cat2.parent = cat3 cat3.parent = cat2 cat2.child = cat1 return cat1 }
3:19 AM
この場合ですね
3:21 AM
あら
3:22 AM
detectLeaksはオブジェクトを受け取ると思ってたけど () -> T を受け取るのか。
3:23 AM
これ README 間違ってますね
そういうことか
3:24 AM
クロージャで受けてるから、detectLeaksの内部で、 「weakで全部保持」 「検査したいユーザコードの実行」と「Swiftのスコープ解放の完了待ち」ができて 「weakで保持したもののチェック」 ができるのか。
3:24 AM
Tを受け取ると思っていたので引っかかっていたけど納得しました