dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
self.pageIndex++;
});
或
__weak someController *weakSelf = self;
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
weakSelf.pageIndex++;
});
我很困惑。哪个是对的?谢谢。
答案 0 :(得分:2)
dispatch_after不会以“self”拥有的方式存储块,因此这里不存在保留周期的风险。
鉴于此,问题变成你想要发生什么?如果self应该保持活动状态以确保它的pageIndex可以增加,请使用强引用。如果索引只应在self仍处于活动状态时递增,请使用弱引用。
(编辑):此外,这里没有涉及全局变量。您可能想要了解全局变量,本地变量和实例变量之间的差异。