【发布时间】:2015-09-07 06:49:45
【问题描述】:
我有一个 UIViewController 的子类,当从另一个类调用它时,应用程序会冻结 - 我使用 Xcode 调试器并发现当我尝试访问该类的视图属性时,应用程序会冻结。另一个奇怪的事情是,当我在调试器控制面板中输入:“po objectOfTheProblematicClass.view”时,调试器停止响应。 我使用的代码与此类似:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
WTStickyViewController *stickyVC = [sb instantiateViewControllerWithIdentifier:@"WTStickyViewController"];
stickyVC.sticky = sticky;
// Setup view controller containment:
[self.parentViewController addChildViewController:stickyVC];
self.containerView = self.parentViewController.view;
[self.containerView addSubview:stickyVC.view];
WTStickyViewController 是 UIViewController 的子类。应用程序在到达时冻结
[self.containerView addSubview:stickyVC.view];
但这是因为这是第一次调用 stickyVC.view。
例如,如果我会在代码中的某个地方放置
UIView *viewForExample = stickyVC.view;
应用程序会在那里冻结。
完全相同的应用程序在装有 iOS 8 的设备上编译时可以正常工作,但在 iOS 9 上会出现此问题。
如果有人知道为什么会这样,如果有解决方案,那就太好了。谢谢你。
【问题讨论】:
-
你有没有在你的子类viewLoad方法中调用super
-
检查你的断点。如果断点条件或命令出错,Xcode 可能会在尝试中断时挂起。
-
用导致问题的相关代码更新您的问题。
-
@PetahChristian 即使没有断点,应用也会冻结。
-
@RaheelSadiq 如果这就是你的意思,我没有覆盖 loadView
标签: objective-c uiviewcontroller ios9 xcode7