Di Java, Anda dapat menangguhkan eksekusi thread saat ini selama beberapa waktu menggunakan Thread.sleep()
. Apakah ada yang seperti ini di Objective-C?
ios
objective-c
cocoa-touch
sleep
levi
sumber
sumber
Tidur selama satu detik di Jawa:
Tidur selama satu detik di Tujuan C:
sumber
Kenapa kamu tidur Saat tidur, Anda memblokir UI dan juga URL latar belakang yang tidak dimuat di thread lain (menggunakan metode asinkron NSURL masih beroperasi di thread saat ini).
Kemungkinan yang Anda inginkan adalah performSelector: withObject: AfterDelay. Itu adalah metode di NSObject yang dapat Anda gunakan untuk memanggil metode pada interval yang ditentukan sebelumnya nanti - ini menjadwalkan panggilan yang akan dilakukan di lain waktu, tetapi semua hal lain yang ditangani thread (seperti UI dan pemuatan data) akan masih berlanjut.
sumber
Tentu saja, Anda juga dapat menggunakan panggilan Unix sleep () dan usleep () standar. (Jika menulis Cocoa, saya akan tetap menggunakan [NSThread sleepForTimeInterval:], bagaimanapun.)
sumber
Jika Anda menggunakan NSThread sleepForTimeInterval (kode komentar) untuk tidur, pengambilan data akan diblokir, tetapi + [NSThread sleepForTimeInterval:] (metode checkLoad) tidak akan memblokir pengambilan data.
Kode contoh saya seperti di bawah ini:
sumber
usleep () juga dapat digunakan karena ive digunakan ini untuk menjeda utas saat ini
sumber