SORU
6 EKİM 2010, ÇARŞAMBA


iphone ayrı bir iş parçacığı çalışan ios

Ayrı bir iş parçacığı üzerinde kod çalıştırmak için en iyi yolu nedir? Oldu:

[NSThread detachNewThreadSelector: @selector(doStuff) toTarget:self withObject:NULL];

Ya da:

    NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
                                                                        selector:@selector(doStuff:)
                                                                          object:nil;
[queue addOperation:operation];
[operation release];
[queue release];

İkinci yol yapıyorum ama okuyorum Wesley yemek Kitabı ilk kullanır.

CEVAP
6 EKİM 2010, ÇARŞAMBA


Benim görüşüme göre, en iyi yolu, (GCD) libdispatch aka Grand Central Dispatch ile. İOS 4 ve daha fazla için sınırlar, ama sadece çok basit ve kullanımı kolay. Bir arka plan iş parçacığı üzerinde bazı işlemleri yapmak ve ana çalışma sonuçları ile bir şeyler yap o zaman döngü için kod son derece kolay ve kompakt

dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    // Add code here to do background processing
    //
    //
    dispatch_async( dispatch_get_main_queue(), ^{
        // Add code here to update the UI/send notifications based on the
        // results of the background processing
    });
});

Eğer zaten yapmış olsanız bile, libdispatch/GCD/blok WWDC 2010 videoları göz atın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ICON

    ICON

    19 EKİM 2011
  • videoisunrelated

    videoisunrel

    5 Mart 2009
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011