我在 ASIHTTPRequest 方面遇到了麻烦。
首先,在我的 AppDelegate 中,我有一个 TabBarController。在将我的 tabbarcontroller 设置为 rootviewcontroller 之前 (self.window.rootViewController = self.tabBarController;)
我推送另一个 View (self.window.rootViewController = getDataLaunchViewController;),它负责下载所有数据。
在此 View Controller (getDataLaunchViewController)内,我正在执行几个 startAsynchronous 请求。
一切都很好,我得到了响应,但是当最后一个请求完成时,我正在尝试执行此操作(在 requestFinished 内):
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.window.rootViewController = appDelegate.tabBarController;
并且应用程序因 EXC_BAD_ACCESS 崩溃
我做了一项研究,但不太确定我做错了什么......
最佳答案
我认为问题在于您正在同一个线程中工作。 我建议你做一个“手动技巧”。 使用您的代码构建一个方法:
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
appDelegate.window.rootViewController = appDelegate.tabBarController;
之后,当您收到最后一个请求时,请像这样调用此方法:
[self performSelector:@selector(yourMethod) withObject:nil afterDelay:0.1];
希望对你有帮助!!
关于ios - ASIHTTPREQUEST 根据请求更改 View Controller 已完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898607/