首页 > 解决方案 > 基于自定义对象属性过滤对象时出现“无效的属性名称”错误

问题描述

我想使用以下语句根据名为“type”的自定义对象属性过滤掉对象:

realm.objects(MyRealmObject.self).filter("type != %@", MyCustomObject.self)

然后我收到以下错误:

捕获“无效的属性名称”、“在“MyRealmObject”类型的对象中找不到属性“类型”。

MyRealmObject 的定义如下:

final class MyRealmObject: Object {
    @objc dynamic var id: String = ""
    @objc dynamic var title: String = ""
    var type: MyCustomObject? = nil
}

我应该使用 Realm 的“过滤器”语句中的什么语法来根据 MyRealmObject 的“类型”属性进行过滤?

标签: iosswiftrealm

解决方案


我认为您需要这样声明:

 @objc dynamic var type: MyCustomObject? = nil

像其他属性一样添加 @objc 动态。


推荐阅读