EXC_BAD_INSTRUCTION при создании объекта Realm - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть объект Realm с именем Dog:

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: предупреждение: объект 0x10ba06d20 класса 'SDK.Dog' не реализует methodSignatureForSelector: - вы забыли объявить суперкласс 'SDK.Dog'?

2018-12-06 14: 02: 06.243187-0600 SampleApp [25047: 274257] *** NSForwarding: предупреждение: объект 0x10ba06d20 класса 'SDK.Dog' не реализует doesNotRecognizeSelector: - abort

Вот связанные рамки и библиотеки SDK, мне нужно было сделать их необязательными, чтобы получить SampleApp для сборки.

enter image description here

1 Ответ

0 голосов
/ 06 декабря 2018

Вы используете RealmSwift, вам нужно использовать Realm и для Objective-C, если вы хотите объявить @objc dynamic var.Объект, который вы объявляете, должен наследовать от NSObject, чтобы это работало, и ошибка, которую вы видите, указывает на то, что ваш объект не может реализовать определенные обязательные методы, которые реализуются этим суперклассом.

Попробуйте добавить в ваш проект как RealmSwift.framework, так и Realm.framework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...