iphone - viewWillDisappear 和 viewDidDisappear 之间存在巨大延迟

标签 iphone cocoa-touch ios6

这是日志输出

2013-03-16 14:02:59.301 Echo[65406:4503] child viewWillDisappear start
2013-03-16 14:02:59.303 Echo[65406:4503] child viewWillDisappear returning
2013-03-16 14:02:59.303 Echo[65406:4503] parent viewWillAppear start
2013-03-16 14:02:59.305 Echo[65406:4503] parent viewWillAppear returning
2013-03-16 14:02:59.307 Echo[65406:4503] parent finished calling popToRootViewControllerAnimated on child.navigationController
2013-03-16 14:03:30.120 Echo[65406:c07] child viewDidDisappear start
2013-03-16 14:03:30.121 Echo[65406:c07] child viewDidDisappear returning
2013-03-16 14:03:30.121 Echo[65406:c07] parent viewDidAppear start
2013-03-16 14:03:30.122 Echo[65406:c07] parent viewDidAppear returning

viewWillDisappearviewDidDisappear 之间的 30 秒很酷。这中间还发生了什么?

最佳答案

这里的问题是线程。这是因为此操作是来自 AFNetworking 代码的回调。而不是使用:

[controller.navigationController popViewControllerAnimated:NO];

需要:

// http://stackoverflow.com/questions/9411271/how-to-perform-uikit-call-on-mainthread-from-inside-a-block
dispatch_async(dispatch_get_main_queue(), ^{
    [controller.navigationController popViewControllerAnimated:NO];
    [self.navigationController pushViewController:newController animated:YES];
});

关于iphone - viewWillDisappear 和 viewDidDisappear 之间存在巨大延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452763/

相关文章:

iphone - 生成预览后 ARC 转换错误

objective-c - 如何将 CALayer 的内容设置为 CGImageRef?

iOS:键入时搜索建议

iphone - iPad 中的 FBWebDialog 旋转问题

ios - 在 IOS 中编写正确的 init 函数

objective-c - 在 iOS6 中处理通讯簿联系人时的内存泄漏

iphone - iphone/ipad 上的初始宽度

iphone - NSString 中的撇号和反撇号

iphone - PresentModalViewController : Where to release?

ios - 如何确定当前是否正在 UIView 中播放动画?