嘿伙计们,我有一个按钮,当点击它时,我希望它等待10秒才能完成它的事情,例如切换到新视图。我该怎么做呢?任何帮助,将不胜感激!
答案 0 :(得分:10)
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay
阅读NSObject文档,了解其他一些变体。
[self performSelector:@selector(myFunction:) withObject:myObject afterDelay:10.0];
答案 1 :(得分:2)
试试这个:
[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(timerFired:) userInfo:nil repeats:NO];
然后timer:
应如下所示:
- (void)timerFired:(NSTimer *)timer {
//do stuff here
}
答案 2 :(得分:1)
您可以使用:
double delayInSeconds = 10.0; // number of seconds to wait
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
/***********************
* Your code goes here *
***********************/
});
答案 3 :(得分:0)
您需要使用NSTimer
,
检查以下代码作为参考。
- (void) startTimer{
[NSTimer scheduledTimerWithInterval:10.0f target:self selector:@selector(showElapsedTime:) userInfo:nil repeats:YES];
}
showElapsedTime
将在延迟后调用,您提供。
-(void) showElapsedTime: (NSTimer *) timer {
if(OnSomeCondition)
{
[timer invalidate];
}
// Write your code here
}
从StartTimer
的操作方法致电UIButton
,您将获得10秒等待。
-(void) myButtonAction:(id) sender
{
[self StartTimer];
}
答案 4 :(得分:-1)
你可以做一个
sleep(10)
让应用暂停10秒钟。注意:这是一个真正的实际暂停,因此根本不可能进行UI交互。但是,按Home键可以将应用程序移动到后台。