我正在尝试在块语句中设置标签的 alpha,因此我调用 self. 据我了解,我不能直接从块语句中调用self,所以我必须先引用self。
这是我拥有的代码,但它不起作用:
self.accountStore = [[ACAccountStore alloc] init];
__weak UILabel *weakSelf = self.errorLabel;
[self.accountStore requestAccessToAccountsWithType:twitterType options:NULL completion:^(BOOL granted, NSError *error) {
if (!granted) {
[weakSelf setAlpha:0.0f];
}
}];
关于可能是什么问题的任何想法?
更新 1
我也尝试只引用自我,但没有运气:
self.accountStore = [[ACAccountStore alloc] init];
__weak FrontPageViewController *weakSelf = self;
[self.accountStore requestAccessToAccountsWithType:twitterType options:NULL completion:^(BOOL granted, NSError *error) {
if (!granted) {
[weakSelf.errorLabel setAlpha:0.0f];
}
}];
更新 2
刚刚检查了错误标签是否为 nil 并且似乎不是:
if (self.errorLabel != nil) {
NSLog(@"Errorlabel is not nil"); //Errorlabel is not nil
}
错误原因
错误是我想淡出标签后立即拥有此代码:
[UIView animateWithDuration:0.2f animations:^{
//self.errorLabel.alpha = 0.0f;
} completion:^(BOOL success){
}];
我不完全明白为什么这会造成麻烦?