我遇到了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
我做了一项研究,我不太确定我做错了什么......
答案 0 :(得分:1)
我认为问题是你在同一个线程中工作。 我建议你做一个“手工技巧”。 使用您的代码构建方法:
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.window.rootViewController = appDelegate.tabBarController;
之后,当您收到最后一个请求时,请按以下方式调用此方法:
[self performSelector:@selector(yourMethod) withObject:nil afterDelay:0.1];
我希望它能帮到你!!