在我的iOS程序中,我想要一个暂停1秒的功能。为了做到这一点,我需要写什么代码?
答案 0 :(得分:26)
您可以使用以下方法之一:sleep(1);
或wait(1);
答案 1 :(得分:3)
另一种方法是:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//Place code here});
sleep()和wait()有时会受到轻视,但只要你了解发生了什么,就可以自由使用
答案 2 :(得分:2)
iOS较新的是完成块。例如,如果需要在弹出视图控制器后执行某些操作,则现在可以使用块。我最近使用此方法关闭消息撰写视图控制器,然后如果成功则弹出当前视图控制器。
旧方式:
[controller dismissModalViewControllerAnimated:YES];
// Use an NSThread or performSelector:withObject:afterDelay
新方式:
[controller dismissViewControllerAnimated:YES completion:^{
if (result != MessageComposeResultCancelled){
// If cancelled remain on current screen, else pop to parent view controller
[self.navigationController popViewControllerAnimated:YES];
}
}];