您的位置:首页 > 移动开发 > IOS开发

iOS屏蔽高频点击技巧

2015-11-05 10:21 459 查看
例如高频率点击一个按钮或者TableViewCell,会造成功能多次重复执行,在异步网络请求时候或者多线程时候,造成的问题尤其明显。

解决方法:

声明一个属性self.actionWorking ,标识是否有任务在执行,如果有就返回,如果没有就self.actionWorking= YES;然后通过

- (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay;

来执行目标操作,执行之后,self.actionWorking = NO;

例如:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

if (self.actionWorking)

{

return;

}

self.actionWorking = YES;

[self performSelector:@selector(someAction:) withObject:nil afterDelay:0.5];

return;

}

-(void)someAction:(NSObject*)object{

// do some working

self.actionWorking = NO;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: