自分で保持しているブロックで自分に何かを呼び出すと、通常、警告が表示されます。
[self.someView doSomething:^{
self.aVar = @"Hello!";
}];
私がしなければなりません:
__weak SomeObject *weakSelf = self;
[self.someView doSomething:^{
weakSelf.aVar = @"Hello!";
}];
しかし、weakSelfでメソッドを呼び出し、そのメソッドがselfを使用している場合、警告が表示されなくても、保持サイクルが発生しますか?私はこれについて話している:
__weak SomeObject *weakSelf = self;
[self.someView doSomething:^{
weakSelf.aVar = @"Hello!";
[weakSelf aMethod];
}];
およびaMethodはself