В моей программе iOS я хочу, чтобы функция приостанавливалась на 1 секунду. Какой код мне нужно написать для этого?
Как приостановить время в iOS-программировании
Ответ 1
Вы можете использовать один из них: sleep(1);
или wait(1);
Или вы можете использовать [NSThread sleepForTimeInterval:1.0]
И есть также performSelector:withObject:afterDelay
Ответ 2
Другой способ сделать это:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//Place code here});
sleep() и wait() иногда смотрятся вниз, но пока вы понимаете, что происходит, используйте его по своему усмотрению.
Ответ 3
Новичками для 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];
}
}];