ios - ASIHTTPREQUEST 根据请求更改 View Controller 已完成

标签 ios uiviewcontroller asihttprequest

我在 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/

相关文章:

c++ - iOS 上的 Qt 蓝牙

ios - 特殊字符串格式的 ObjC 注册应用程序

ios - 在 UIViewController 的所有现有实例上调用方法

iphone - 如何在 iOS 中使用 ASI Http 将数据发布到 Web 服务?

ios - 在 objective-C sqlite dao 中读取优先级

iphone - 检查与 NSURLConnection 连接的有效 IP

iphone - 释放 UIViewController

ios - 如何禁用 UIApplication.keyWindow() 呈现的 ViewController 上的方向

iphone - AFNetworking : How to know if response is using cache or not ? 304 或 200

objective-c - ASIHTTPRequest block 内存泄漏