7
我讀過很多關於是否應該在主線程之外調用URLForUbiquityContainerIdentifier:
的衝突信息。在很多Apple的文檔中,他們總是將這種方法稱爲主線程。不過,我也讀過,調用此方法可能會阻塞相當長的時間。應該在主線程之外的線程中調用URLForUbiquityContainerIdentifier:
大家的想法是什麼?在主線程中調用它,不要擔心或是,總是在另一個線程中進行此調用?
我讀過很多關於是否應該在主線程之外調用URLForUbiquityContainerIdentifier:
的衝突信息。在很多Apple的文檔中,他們總是將這種方法稱爲主線程。不過,我也讀過,調用此方法可能會阻塞相當長的時間。應該在主線程之外的線程中調用URLForUbiquityContainerIdentifier:
大家的想法是什麼?在主線程中調用它,不要擔心或是,總是在另一個線程中進行此調用?
NSFileManager可能被阻塞,建議在與主線程不同的線程上運行。下面是使用大中央調度利用的iCloud存儲在不同的線程
dispatch_queue_t globalQueue = dispatch_get_global_queue(QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(globalQueue, ^{
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSURL *ubiquityContainer = [fileManager URLForUbiquityContainerIdentifier:nil];
dispatch_queue_t mainQueue = dispatch_get_main_queue();
dispatch_async(mainQueue, ^{
[self updateWithUbiquityContainer:ubiquityContainer];
});
});
這是設在這裏一個偉大的文章的摘錄:
http://oleb.net/blog/2011/11/ios5-tech-talk-michael-jurewitz-on-icloud-storage/