ios - 从 -traitCollection 返回 nil,这在 Xcode 11 Beta 中是不允许的

标签 ios swift xcode

UITraitCollection 中的断言失败 * _Nonnull 从 -traitCollection 返回 nil,这是不允许的? 当我尝试在 ios 13 中运行 Xcode 11 beta 时,它崩溃了。我不知道出了什么问题。

最佳答案

[ super 初始化]

我遇到这个问题是因为我的代码库中一位未透露姓名的前编码员(我经常咒骂他)没有调用 [super init]在实现 UITraitEnvironment 的类上(又名 UIViewUIViewController )!

如果我能在五年前挥舞战锤,我会的。

此实现位于 UIViewController 的子类中...

- (id)initWithStartPositionPdf:(float)startPosition withScrollViewHeight:(float)scrollViewHeight {
    _startPosition = startPosition;
    _scrollViewHeight = scrollViewHeight;

    self.isPdfView = YES;

    return self;
}

已更新为...

- (instancetype)initWithStartPositionPdf:(float)startPosition withScrollViewHeight:(float)scrollViewHeight {
    self = [super initWithNibName:nil bundle:nil];
    _startPosition = startPosition;
    _scrollViewHeight = scrollViewHeight;
    _isPdfView = YES;
    return self;
}

并解决了我在 Xcode 11/iOS 13 中开始收到的崩溃问题。

关于ios - 从 -traitCollection 返回 nil,这在 Xcode 11 Beta 中是不允许的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58362542/

相关文章:

Swift:具有公共(public)初始化部分的多个初始化器

ios - 关于内存泄漏的 Xcode 单元测试

objective-c - 设置值 :forUndefinedKey: this class is not key value coding-compliant for the key

javascript - iPhone iOS 上的 val() 不返回文本区域值

ios - 登录后使用 Swift 更改 ios 中的 MainViewController

objective-c - 查找枚举的未使用情况 (Objective-C/Swift)

iphone - 模拟器与 IOS 设备性能

ios - Swift 中的内存管理 : memory don't released after NSOperation ends

iphone - Facebook 分享通过应用名称中的链接

ios - 推送 ViewController 导致无法解包 Optional.None