做一些下载而不阻止你的应用程序

时间:2010-12-26 19:56:54

标签: iphone objective-c

我正在开发我的第一个应用程序,它可以同时执行一些不同的Web连接。

我的第一个屏幕是我的菜单。

在MenuViewController的viewDidLoad的底部,我调用一个方法来获取并解析位于我的网络服务器上的.xml文件。

同样在viewDidLoad的底部我做

FootballScores = [[FootBallScores alloc] init];

和FootballScores连接到一个html页面,它加载到一个字符串中,然后解析数据。

现在因为这两个都是在负责主菜单(应用程序中的第一个屏幕)的类的viewDidLoad的底部调用,这意味着应用程序的加载速度有点慢。

上述方法的正确方法是什么?我应该从viewDidLoad中删除2段代码并替换为可能

dataGetterOne = [NSTimer scheduledTimerWithTimeInterval:1.000 target:self  
selector:@selector(xmlParser) userInfo:nil repeats:NO];

dataGetterTwo = [NSTimer scheduledTimerWithTimeInterval:2.000 target:self  
selector:@selector(htmlParser) userInfo:nil repeats:NO];

这意味着稍后调用这些方法,并且在我尝试从Web服务器获取数据之前,viewDidLoad将完成。

与我们的bservers建立2个连接,快速分开? iphone可以同时打开2个连接吗?

我真的不确定我在连接方面做了什么不好/危险。

非常感谢 -code

2 个答案:

答案 0 :(得分:3)

尝试使用ASIHTTPRequest。它易于使用,并允许您使用几行代码创建不会阻止您的应用程序的异步请求。

希望这有帮助,

安德

答案 1 :(得分:0)

另外,I wrote a brief tutorial编写自己的XML / JSON数据解析应用程序。我希望它可能有助于思考如何构建这样的应用程序。