私はdispatch_asyncメソッドを使用してメインキューのタスクを実行しています。しかし、それはサイクルを維持する原因:dispatch_asyncネストされたブロック
に続いて、コードスニペットです:
self.test = ^{
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"%@", self);
});
};
は、私はサイクルを維持し作成された理由を適切に取得することはできませんよ。私のコントローラはdispatch_asyncブロックの所有権を持っていません。
プロパティ 'test'はクロージャを保持し、クロージャーには' self'への参照が含まれています。参照自体はブロック内にあります。 – Paulw11