UITraitCollection 中的断言失败 * _Nonnull 从 -traitCollection 返回 nil,这是不允许的?当我尝试在 ios 13 中运行 Xcode 11 beta 时它崩溃了。我不知道出了什么问题。
bsh*_*ley 11
我遇到了这个问题,因为我的代码库中一个未命名的以前的编码员,我经常诅咒他,没有调用[super init]实现UITraitEnvironment(又名UIView或UIViewController)的类!
如果我能在五年内向后挥舞战锤,我会的。
这个实现在UIViewController…的子类中
- (id)initWithStartPositionPdf:(float)startPosition withScrollViewHeight:(float)scrollViewHeight {
_startPosition = startPosition;
_scrollViewHeight = scrollViewHeight;
self.isPdfView = YES;
return self;
}
Run Code Online (Sandbox Code Playgroud)
已更新为…
- (instancetype)initWithStartPositionPdf:(float)startPosition withScrollViewHeight:(float)scrollViewHeight {
self = [super initWithNibName:nil bundle:nil];
_startPosition = startPosition;
_scrollViewHeight = scrollViewHeight;
_isPdfView = YES;
return self;
}
Run Code Online (Sandbox Code Playgroud)
并解决了我在 Xcode 11 / iOS 13 中开始收到的崩溃。
小智 3
这就是 iOS 13 和 Xcode 11 处理主线程检查器不一致的方式。
基本上,您正在从后台线程更新 UI。只需确保您在主线程中更新所有 UI 即可。
只需将更新 UI 的代码封装在DispatchQueue.main.async { }.
| 归档时间: |
|
| 查看次数: |
2163 次 |
| 最近记录: |