Kei*_*ter 7 xcode warnings block objective-c ivar
我对如何更改块内的实例变量感到很困惑.
接口文件(.h):
@interface TPFavoritesViewController : UIViewController {
bool refreshing;
}
Run Code Online (Sandbox Code Playgroud)
实施:
__weak TPFavoritesViewController *temp_self = self;
refreshing = NO;
[myTableView addPullToRefreshWithActionHandler:^{
refreshing = YES;
[temp_self refresh];
}];
Run Code Online (Sandbox Code Playgroud)
正如您可能猜到的那样,当我尝试更改块内的刷新ivar时,我会收到保留周期警告.如果没有出错,我该怎么做?
你的作业refreshing是一个隐含的引用self,它是以下的简写:
self->refreshing = YES;
Run Code Online (Sandbox Code Playgroud)
因此周期警告.将其更改为:
temp_self->refreshing = YES;
Run Code Online (Sandbox Code Playgroud)