Swift Realm фильтрует все объекты с нулевым значением - PullRequest
0 голосов
/ 02 марта 2020

У меня есть два объекта следующим образом:

class NextAction: Object {
    @objc dynamic var title: String = ""
    @objc dynamic var notes: String? = ""
    @objc dynamic var deadline: Date?
    @objc dynamic var deadlineID: String = ""
    @objc dynamic var reminder: Date?
    @objc dynamic var reminderID: String = ""
    @objc dynamic var finished: Bool = false
    @objc dynamic var favorite: Bool = false
    @objc dynamic var priority: Int = 0
    var duration = RealmOptional<Int>()
    @objc dynamic var tag: String?
    let tags = List<Tag>()
}

class Tag: Object {
    @objc dynamic var title: String = ""
    let owners = LinkingObjects(fromType: NextAction.self, property: "tags")
}

Не у всех объектов NextAction есть тег, но я хочу отфильтровать и показать всех, кому его не хватает, я пробовал

var test = realm.objects(NextAction.self).filter("ANY tags == nil")

Но я получаю эту ошибку

'Invalid value', reason: 'Expected object of type Tag for property 'tags' on object of type 'NextAction', but received: (null)'

1 Ответ

0 голосов
/ 02 марта 2020

Ваш tags не может быть nil. Если вы хотите найти объекты, у которых tags пусто, вы можете сделать это следующим образом.

var test = realm.objects(NextAction.self).filter("ANY tags.@count == 0")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...