我正在使用NSTimer scheduledTimerWithTimeInterval
来延迟函数调用,但我也需要一个on completion事件。出于某种原因,我在规范中找不到任何提及。
我有什么选择?
答案 0 :(得分:1)
我不确定我的答案是否正确。通过
调用选择器后[NSTimer scheduledTimerWithTimeInterval:10f
target:self
selector:@selector(onFire)
userInfo:nil
repeats:NO];
只需在被触发的方法底部调用完成方法就足够了。这不符合您的要求吗?
- (void)onFire {
// DO THE JOB.
// ...
[self onCompletion];
}
- (void)onCompletion {}
答案 1 :(得分:0)
我有点不清楚为什么其他答案不符合你的喜好,但这是另一种方法。
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<#delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
<#code to be executed after a specified delay#>
});
这可以让您轻松延迟一些嵌套块。