코드에 몇 가지 문제가 있으며 속도 향상 방법을 모르고 있습니다.코드 실행 속도 향상
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"];
});
}
이 비동기 다운로드 내가보기에 GIF 이미지를 회전 한 일이 일어나고 있지만 : 여기에 애플 대리자 (didFinishLaunchingWithOptions 방법 본체)에서 내 코드입니다. 이 다운로드가 모두 끝나면 볼 수 있듯이 refreshView 메소드가 내 View Controller에서 트리거됩니다.
로드가 완료되면 다시로드합니다. NSLog (@ "% @", @ "Finished reloading ..")가 있습니다. 그래서 언제보기가 다시로드되었는지 알 수 있습니다.
문제 :
그래서 내가 콘솔에서 찾고 있어요 :
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"]; '이 부분이 올바른 위치에 있습니까? 또한 braquets 조금 보인다. – Peres