我有一个名为 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。
最佳答案
你正在使用 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/