SORU
5 Kasım 2012, PAZARTESİ


Dispatch_get_current_queue alternatifler() iOS 6 içinde tamamlanması blok için?

Bir blok ve bir tamamlanma blok kabul eden bir yöntem var. İlk bloğun tamamlanma blok yöntemi çağrıldı ne olursa olsun çalıştırmak gerekirken arka planda çalıştırmalısınız.

İkincisi için hep dispatch_get_current_queue(), kullanılmış ama iOS 6 veya daha yeni kaldırılmış gibi görünüyor. Ben yerine kullanılır.

CEVAP
5 Kasım 2012, PAZARTESİ


"Arayan kişi" çekici, ama iyi bir fikir değil sonuçta. ne gelirse çalıştırmak desen O sıra düşük bir öncelik sırası, ana sıra, ya da tuhaf özelliklere sahip başka bir sırası olabilir.

En sevdiğim yaklaşımın bu olduğunu söyle "tamamlanması blok üzerinde çalışan bir uygulama tanımlı sırası ile bu özellikler: x, y, z", ve izin bloğu göndermek için belirli bir sıra, eğer arayan istiyor daha fazla kontrol daha. Belirtmek için özellikleri tipik bir set gibi bir şey olurdu "seri olmayan desteklemeyeceğini ve diğer ilişkin uygulama görünür uyumsuz sırası".

* * * * . DÜZENLE

Yorum aşağıda bir örnek koymak Catfish_Man, sadece onun cevabını ekliyorum.

- (void) aMethodWithCompletionBlock:(dispatch_block_t)completionHandler     
{ 
    dispatch_async(self.workQueue, ^{ 
        [self doSomeWork]; 
        dispatch_async(self.callbackQueue, completionHandler); 
    } 
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kev5124

    kev5124

    9 Kasım 2008
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006