Sye*_*bas 5 storyboard uiviewcontroller ios13 xcode11
测试我的应用程序的Xcode 11(测试版)用于iOS的-13(测试版)的更新,我就当我试图从故事板实例的viewController越来越崩溃。
在以前的版本中,可以使用以下代码正常工作:
XYZController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER"];
Run Code Online (Sandbox Code Playgroud)
现在,对于iOS 13,Apple引入了新方法,即
XYZController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER" creator:^__Kindof UIViewController *__Nullable(NSCoder *_Nonnull coder){
return [XYZController alloc] initWithCoder:coder];
}];
Run Code Online (Sandbox Code Playgroud)
在iOS-13中执行这两种方法都会导致崩溃。当崩溃显示在其他地方时。
这是我的崩溃报告。
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:''从-traitCollection返回nil,这是不允许的。
注:临时解决方案
我也遇到过这个问题,我找到了两个临时修复方法。首先是创建需要实例化的控制器的对象/属性并instantiateViewControllerWithIdentifier在控制器的viewDidLoad. 应用程序不会崩溃。
其次是在 中实例化控制器dispatch_async(dispatch_get_main_queue())。这两个技巧都对我有用。
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |