ios - 实例化 Realm 对象时出现 EXC_BAD_INSTRUCTION

标签 ios swift realm

我有一个名为 Dog 的 Realm 对象:

import RealmSwift

class Dog: Object {
    @objc dynamic var name = ""
    @objc dynamic var age = 0
}

但是,当我尝试实例化它时

let myDog = Dog()

我收到这个错误:

Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

我也在“所有输出”窗口中得到这个,但我不确定它是否导致崩溃:

SampleApp[25047:274257] *** NSForwarding: warning: object 0x10ba06d20 of class 'SDK.Dog' does not implement methodSignatureForSelector: -- did you forget to declare the superclass of 'SDK.Dog'?

2018-12-06 14:02:06.243187-0600 SampleApp[25047:274257] *** NSForwarding: warning: object 0x10ba06d20 of class 'SDK.Dog' does not implement doesNotRecognizeSelector: -- abort

这是 SDK 的链接框架和库,我需要将它们设为可选,以便构建 SampleApp。

enter image description here

最佳答案

你正在使用 RealmSwift,如果你想声明 @objc 动态变量,你也需要使用 Realm for Objective-C。您声明的 Object 需要从 NSObject 继承才能使其正常工作,并且您看到的错误表明您的对象无法实现该父类(super class)实现的某些必需方法。

尝试将 RealmSwift.framework 和 Realm.framework 添加到您的项目中。

关于ios - 实例化 Realm 对象时出现 EXC_BAD_INSTRUCTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53658617/

相关文章:

swift - RealmSwift 替代 RLMobject

ios - -[UIBarButtonItem setTitlePositionAdjustment :forBarMetrics:] ignores vertical offset

ios - 在已持久化对象的 RLMArray 属性中插入对象?

android - 如何在 Realm 中对多列进行等于比较

swift - UIStackView 动画问题

ios - 展开表格 View 部分时如何旋转图像?

swift - 防止手势通过注释 View 到达 map

ios - 每个目标不同的 Storyboard本地化

ios - UIPageViewController 不跟踪页面索引

ios - 在 objective-c 中使用 NsTimer 实现计数器