У меня возникли проблемы с моим кодом и я не уверен, как ускорить процесс. Вот мой код из приложения делегата (didFinishLaunchingWithOptions метод тела):Улучшение скорости выполнения кода
initialized = [[NSUserDefaults standardUserDefaults] boolForKey:@"initialized"];
if (!initialized) {
dispatch_queue_t queue = dispatch_get_global_queue(
DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
[DAO setDocumentsCacheDirectory:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]];
....download images and files needed by application
NSLog(@"%@", @"Finished downloadding images and files");
[[NSNotificationCenter defaultCenter] postNotificationName:@"refreshView" object:nil];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"initialized"];
});
}
Хотя это асинхронная загрузка происходит я спиннинг рисунок на мой взгляд. Как вы можете видеть, когда вся эта загрузка выполнена, метод refreshView запускается в моем контроллере просмотра.
После того, как загрузка завершена, у меня есть NSLog (@ "% @", @ "Законченная перезагрузка .."); поэтому я знаю, когда представление перезагрузилось.
Проблема:
Так что я смотрю на консоли:
2012-06-07 12:52:34.898 TestApp[29800:13c03] Finished downloadding images and files
[Switching to process 29800 thread 0x13c03]
2012-06-07 12:52:34.909 TestApp[29800:13c03] Finished reloading..
загрузки файла, как представляется, быть сделано в течение второго или двух. Затем сразу же после того, как вы видите по метке времени, перезагрузка вида завершается.
Но дело в том, что приложение ждет 5 секунд или около того, и я понятия не имею, где и что происходит, и только после этого просмотр повторно обновляется, хотя сообщение завершено перезагрузкой .. было показано около 5 секунд назад.
Что вы будете делать дальше?
w0w отличный ответ Я предполагаю, что я все еще изучаю основы. Отсутствуют некоторые базовые знания. спасибо – London
'[[NSUserDefaults standardUserDefaults] setBool: YES forKey: @" initialized "];' эта часть находится в правильной позиции? Также, похоже, немного смуты. – Peres