以苹果为例
MyViewController *myController = [[MyViewController alloc] init…];
MyViewController * __weak weakMyController = myController;
myController.completionHandler = ^(NSInteger result) {
MyViewController *strongMyController = weakMyController;
if (strongMyController) {
[strongMyController dismissViewControllerAnimated:YES completion:nil];
}
else {
// Probably nothing...
}
};
这里发生了什么?我很困惑: MyViewController *strongMyController = weakMyController;
这是否意味着weakMyController 对它有一个强引用,所以它就像weakMyController 的retain count + 1?当您创建对弱 iVar 的强引用时会发生什么?