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 回答