我想在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线程上完成?
发布于 2014-05-17 03:49:36
听起来你把插座弄错了。也许你已经为底层视图做了出口,而不是按钮。
如果是这种情况,那么您应该得到类似如下的警告:Incompatible pointer types sending 'UIView *' to parameter of type 'UIButton *'
这就解释了为什么所有东西都被禁用了,而不仅仅是按钮。
https://stackoverflow.com/questions/23702246
复制相似问题