Em Java, você pode suspender a execução do thread atual por um período de tempo usando Thread.sleep()
. Existe algo assim em Objective-C?
ios
objective-c
cocoa-touch
sleep
levi
fonte
fonte
Dormindo por um segundo em Java:
Dormir por um segundo no Objetivo C:
fonte
Por que você está dormindo? Quando você dorme, está bloqueando a IU e também qualquer carregamento de URL de segundo plano que não esteja em outros encadeamentos (o uso dos métodos assíncronos NSURL ainda opera no encadeamento atual).
Provavelmente, o que você realmente deseja é performSelector: withObject: AfterDelay. Esse é um método em NSObject que você pode usar para chamar um método em algum intervalo pré-determinado mais tarde - ele agenda uma chamada que será realizada em um momento posterior, mas todas as outras coisas que o thread manipula (como IU e carregamentos de dados) ainda continua.
fonte
Obviamente, você também pode usar as chamadas sleep () e usleep () padrão do Unix. (Se estiver escrevendo Cocoa, eu ficaria com [NSThread sleepForTimeInterval:], no entanto.)
fonte
Se você usar NSThread sleepForTimeInterval (código comentado) para dormir, a busca de dados será bloqueada, mas + [NSThread sleepForTimeInterval:] (método checkLoad) não bloqueará a busca de dados.
Meu código de exemplo abaixo:
fonte
usleep () também pode ser usado como ive usei para pausar o tópico atual às vezes
fonte