Как приостановить время в iOS-программировании

В моей программе iOS я хочу, чтобы функция приостанавливалась на 1 секунду. Какой код мне нужно написать для этого?

Ответ 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];
  }
}];