Как я могу отложить вызов метода на 1 секунду?

Вы также можете использовать apple-ios блок

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
    [object method]; 
});

В большинстве случаев iphone-sdk вы захотите использовать iphone-os dispatch_get_main_queue, хотя, если iphone-os в методе нет пользовательского iphone-programming интерфейса, вы можете использовать cocoa-touch global queue.

Изменить:

Версия Swift 3:

DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
    object.method()
}

Кроме того, DispatchQueue.global().asyncAfter(... также objc может быть хорошим вариантом.

ios

objective-c

iphone

cocoa-touch

uikit

2022-09-18T08:01:10+00:00