我正在我的块上方创建一个弱者
__weak typeof (self) weakSelf = self;
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:10.0]
queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError ){
NSArray *array = weakSelf.myArray;
NSError *error;
}
在块中,弱者自己是零,与弱者有关的每一个属性也都是零。
有人可以告诉我这里我做错了吗?
答案 0 :(得分:4)
没有任何“错误”。 self
指向的对象已被解除分配(因此引用为nil
)。
请记住,2个代码的接近程度并不等于使用异步回调时它们运行时的接近程度。
您需要检查实例在不期望的情况下被解除分配的原因(您可以实现dealloc
并在那里添加断点)。