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ş:
Android temelleri: kullanıcı arabirimi...
Başka bir iş parçacığı ana iş parçacığ...
Nasıl bir çalışan iş parçacığı sabit b...
NSOperation ve NSOperationQueue çalışa...
Sorun böyle büyük mükafat iPhone uygul...