我的应用程序中有以下调用:
dispatch_async(dispatch_get_main_queue(), ^{
self.emptyView.hidden = [self.recordsData count];
[self finishedRefreshing];
});
这使我相信,由于我们正在访问 ivar,因此将创建一个保留周期。但是由于我没有看到在 self 中捕获的块,所以我想我会没事的。这让我相信我们已经结束了使用weakself模式,因为我们的典型约定是永远不会将块实际分配为ivar。我仍然觉得我错过了一些东西,有没有其他方法可以创建保留循环而不将块分配给自我?我不知道为什么我很难掌握这个概念,但任何好的阅读资源也会受到赞赏。