实例化领域对象时{EXC_BAD_INSTRUCTION

时间:2018-12-06 19:47:08

标签: ios swift realm

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

import RealmSwift

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

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

let myDog = Dog()

我收到此错误:

  

线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

我也在“所有输出”窗口中得到了此消息,但不确定是否导致崩溃:

  

SampleApp [25047:274257] *** NSForwarding:警告:类'SDK.Dog'的对象0x10ba06d20没有实现methodSignatureForSelector:-您是否忘记了声明'SDK.Dog'的超类?

     

2018-12-06 14:02:06.243187-0600 SampleApp [25047:274257] *** NSForwarding:警告:类'SDK.Dog'的对象0x10ba06d20没有实现didNotRecognizeSelector:-中止

这是SDK的链接框架和库,我需要使其成为可选项,以构建SampleApp。

enter image description here

1 个答案:

答案 0 :(得分:1)

您正在使用RealmSwift,如果要声明@objc动态变量,则也需要将Realm用于Objective-C。您声明的对象需要从NSObject继承才能正常工作,并且看到的错误表明您的对象无法实现由该超类实现的某些必需方法。

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