presentViewController
我有一个奇怪的问题,最近没有执行完成块。这是在按钮点击时调用的代码
DebugViewController * x = [[DebugViewController alloc] init];
x.view.backgroundColor = [UIColor redColor];
[self presentViewController:x animated:YES completion:^{
NSLog(@"Hello world %@" , self );
}];
DebugViewController
是这个类,self
是这样UIViewController
的结构:
JASidepanels
--->(中心面板)UINavigationController
--->self
正如预期的那样,完全相同的代码在任何其他项目中都可以使用,但几周后它就无法在我的项目中使用了。我最近添加JASidePanels
了一些其他的 Pod。
这是肯定知道的:
- 模态显示,viewWillAppear 和 viewDidAppear 被调用,它动画,它正常工作
- viewWillDisappear 在展示 VC 时被调用,而 dealloc 不是,所以它是实时的。
- 其他块工作。
- 它在主线程上
知道如何调试为什么该块不为我执行吗?
编辑:哇,这非常奇怪。我调试了一整天,并试图逐行删除代码。然而,我似乎发现了一些非常有趣的东西。如果在我的任何视图控制器上有一个完全命名的属性currentAction
(在我的一个 VC 中就是这种情况),完成块将不会在整个应用程序中执行!有人可以确认吗?这是一个要点GIST,将其更改为currentAction
.