我的iPhone应用加载速度非常慢

时间:2013-09-13 06:42:17

标签: iphone ios json

我正在开发一款iPhone应用程序。我使用Touch Json来解析返回Json数据的PHP Web服务。在按钮的单击事件上调用Web服务。

Web服务将在近10秒内解析,但响应速度非常慢。

一旦解析了响应,就必须推送新视图。

响应将在近10秒内解析,但移动到下一个视图需要一分钟。

我需要尽快解决这个问题。

任何人都可以帮我吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

就像基本的想法一样,你使用多线程吗?你应该实现这样的东西。

dispatch_queue_t myqueue = dispatch_queue_create("queue", NULL);
dispatch_async(myqueue, ^{
        //load your Json data here ex [dataManager loadData];

    dispatch_async(dispatch_get_main_queue(), ^{
     //post a notification here for the table/view controller that needs to reload data  
    });
});

现在,您甚至可以在调用此块之前推送到新的viewcontroller,并为通知添加观察器以重新加载数据。 segue将是即时的,您的数据将在10秒后可用。

答案 1 :(得分:0)

如果你不需要在iOS 5之前支持任何东西,你甚至不需要任何第三方库来解析JSON了。你可以这样做:

NSError *jsonError = nil;
NSDictionary *response = [NSJSONSerialization JSONObjectWithData:[responseString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:&jsonError];

if ( response )
{
    NSString *exampleValue = [response objectForKey:@"exampleKey"];

    [self.navigationController pushViewController:yourViewController animated:YES];
}

此外,正如Calin指出的那样,如果您正在处理大量数据,那么在单独的线程上进行处理会更明智。