ASIHTTPREQUEST更改视图Controller on requestFinished

时间:2012-01-17 16:59:12

标签: ios uiviewcontroller asihttprequest

我遇到了ASIHTTPRequest的问题。

首先在我的AppDelegate中我有一个TabBarController。在将tabbarcontroller设置为rootviewcontroller之前(self.window.rootViewController = self.tabBarController;)
我推送另一个视图(self.window.rootViewController = getDataLaunchViewController;),它负责下载所有数据。 在这个视图控制器(getDataLaunchViewController)里面,我正在做一些startAsynchronous请求。 一切都没问题,我收到了回复,但是当最后一个请求完成后,我正在尝试这样做(在requestFinished内):

AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

appDelegate.window.rootViewController = appDelegate.tabBarController;

并且应用程序崩溃了EXC_BAD_ACCESS

我做了一项研究,我不太确定我做错了什么......

1 个答案:

答案 0 :(得分:1)

我认为问题是你在同一个线程中工作。 我建议你做一个“手工技巧”。 使用您的代码构建方法:

AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.window.rootViewController = appDelegate.tabBarController;

之后,当您收到最后一个请求时,请按以下方式调用此方法:

[self performSelector:@selector(yourMethod) withObject:nil afterDelay:0.1];

我希望它能帮到你!!