在Realm

时间:2017-03-22 18:56:56

标签: swift realm

我有一个名为List的对象,它是Realm的Object类的子类:

class List: Object {
    dynamic var brandListItems: [BrandListItem] = []
}

和另一个对象BrandListItem,它也是Object的子类:

class BrandListItem: Object {
    dynamic var brandID: String?
    dynamic var name: String?
}

我的应用程序崩溃,出现以下错误

  

'Property'brandListItems'被声明为'NSArray',它不是受支持的RLMObject属性类型。所有属性必须是基元,NSString,NSDate,NSData,NSNumber,RLMArray,RLMLinkingObjects或RLMObject的子类。

我尝试过像RLMArray<BrandListItem>()那样没有运气的事情。如何将这些对象成功保存到Realm?

1 个答案:

答案 0 :(得分:3)

您需要使用Realm的List<T>属性。请注意,它未标记为dynamic

https://realm.io/docs/swift/latest/#to-many-relationships

class List: Object {
   let brandListItems = RealmSwift.List<BrandListItem>()
}

请注意,有必要使用其模块对Realm Swift的List<T>进行限定,以便将其与新声明的List类消除歧义。