Kakao'da oyun döngülerinin yaratılmasında tartışılan bir çok internet üzerinden baktım. Oyun döngülerinin çoğunun, bir saniyede bir 60 saniyede bir olayı tetiklemek için NSTimer kullandığını gördüm. Apple'ın aşağıdaki Geliştiriciler Dokümantasyonundaki kaynak kodunda olduğu gibi, neden Grand Central Dispatch'i kullanan örneklerin olmadığı görülmektedir. Bilmediğim bir sorun mu var?Kakao oyunları neden zamanlayıcı oluşturmak için Grand Central Dispatch'dan kaçıyor?
dispatch_source_t CreateDispatchTimer(uint64_t interval,
uint64_t leeway,
dispatch_queue_t queue,
dispatch_block_t block)
{
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,
0, 0, queue);
if (timer)
{
dispatch_source_set_timer(timer, dispatch_walltime(NULL, 0), interval, leeway);
dispatch_source_set_event_handler(timer, block);
dispatch_resume(timer);
}
return timer;
}
Belki de NSTimer daha ünlü, GCD'den daha az korkutucu ve GCD sadece MacOS10.6.x/iOS4.x ve üstü sadece? – nacho4d
Evet. Cevap için teşekkürler. Muhtemelen geriye doğru uyumlu olmadığı içindir. – Tobias