我想在ui线程上执行操作(设置按钮启用状态)
然而,如果我想执行它“延迟后”它似乎阻止了ui线程
-(void)changeButtonState:(UIButton *)btn{
[btn setEnabled:NO];
[self performSelector:@selector(reenableButton:) withObject:btn afterDelay:5];
}
-(void)reenableButton:(UIButton*)btn{
[btn setEnabled:YES];
}
如何在延迟后执行选择器,而不阻塞主线程,我需要做的操作必须在ui线程上完成?
答案 0 :(得分:0)
听起来你的插座错了。也许你已经为底层视图而不是按钮创建了一个出口。
如果是这种情况,那么您应该收到类似这样的警告:Incompatible pointer types sending 'UIView *' to parameter of type 'UIButton *'
这可以解释为什么一切都被禁用,而不仅仅是按钮。