2012-06-02 3 views
2

URL에서 큰 plist 파일을로드하고 응용 프로그램을 사용하려면 몇 초 기다려야합니다. 해결책이 있습니까? 어떻게 백그라운드에서로드 할 수 있습니까? GCD 내가 필요한 것은 무엇입니까? 어떻게 구현 될 수 있습니까?백그라운드에서 URL에서 큰 plist로드

내 코드 :

NSString *urlStr = [[NSString alloc] 
        initWithFormat:@"http://www.domain.com/data.xml"]; 

NSURL *url = [NSURL URLWithString:urlStr]; 
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfURL:url]; 

답변

0

당신은 너무 을 수행하는 새로운 스레드를 만들 수있는 다음

//Create the thread 
[NSThread detachNewThreadSelector:@selector(loadPList) toTarget:self withObject:nil]; 

- (void) loadPList 
{ 
    //Load the plist 
    NSString *urlStr = [[NSString alloc] 
         initWithFormat:@"http://www.domain.com/data.xml"]; 

    NSURL *url = [NSURL URLWithString:urlStr]; 
    NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfURL:url]; 

    //Update the ui 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     //Update UI if you have to 
    }); 

} 
+0

감사를 확인하시기 바랍니다, 그것을 작동합니다! 하지만 mapView를 어떻게 업데이트 할 수 있습니까? 내 주석이 축소되기 전에 표시되지 않기 때문입니다. –

+0

새로운 질문으로 게시하십시오. 도움이된다면 답변을 수락하고 동의하십시오. :) –

관련 문제