【问题标题】:ASIHTTPREQUEST change view Controller on requestFinishedASIHTTPREQUEST 在 requestFinished 上更改视图控制器
【发布时间】:2012-01-17 16:59:12
【问题描述】:

我在使用 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 而崩溃

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

【问题讨论】:

    标签: ios uiviewcontroller asihttprequest


    【解决方案1】:

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

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

    之后,当你收到最后一个请求时,像这样调用这个方法:

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

    希望对你有帮助!!

    【讨论】:

    • 很好的解决方案!!!!!!它工作正常!非常感谢@MurdockPNR,再次感谢您的宝贵时间!!我爱 MIMO!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多