2012-06-02 59 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

請把它作爲一個新的問題發佈,也請投票回答並接受它,如果它有幫助:) –