2

URL から大きな plist ファイルをロードしましたが、アプリケーションを使用できるようになるまで数秒待つ必要があります。何か解決策はありますか?バックグラウンドでどのようにロードできますか?私GCDが必要なものはありますか?どのように実装できますか?

私のコード:

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

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

1 に答える 1

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
    });

}
于 2012-06-02T11:50:18.863 に答える