1.在开发工程中我们有时会遇到频繁调用某个方法,这时候会对性能有影响。如果我只想在最后一次操作之后执行方法,那么这里有一种很方便的写法,不需要使用操作队列了。
- (void)doSomething: {
// before ...
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(saveData) object:nil];
[self performSelector:@selector(saveData) withObject:nil afterDelay:2];
// after ...
}
- (void)saveData
{
NSLog(@"缓存数据");
dispatch_to_default_priority_async(^{
[fileManager savePathData];
});
}
这样在频繁调用doSomething方法的时候,就不会频繁的进行数据保存了,只会在最后一次操作之后的2s,进行一次保存操作
网友评论