我是Realm的新手并且遇到了这个问题.
我有Dictionary
这样的
{
firstName : "Mohshin"
lastName : "Shah"
nickNames : ["John","2","3","4"]
}
Run Code Online (Sandbox Code Playgroud)
和class
这样
class User: Object {
var firstName: String?
var lastName: String?
var nickNames: [String]?
}
Run Code Online (Sandbox Code Playgroud)
当我尝试插入值时,它会抛出异常,如下所示
属性"nickNames"声明为"NSArray",它不是受支持的RLMObject属性类型.所有属性必须是原语NSString
,NSDate
,NSData
,NSNumber
,RLMArray
,RLMLinkingObjects
,或子类RLMObject
.
有关更多信息,请参阅https://realm.io/docs/objc/latest/api/Classes/RLMObject.html.
我也试过了
var nickNames = NSArray()
var nickNames = NSMutableArray()
Run Code Online (Sandbox Code Playgroud)
但是没有工作.我是否需要制作Nickname模型类并创建一个属性如下,或者有一种方法可以做到这一点?
var nickNames = List<Nickname>()
Run Code Online (Sandbox Code Playgroud) 例如,我有模型class
这样的
class User: Objects {
var firstName: String?
var lastName: String?
var friends: List<User>?
Run Code Online (Sandbox Code Playgroud)
}
并且Dictionary
喜欢这个
{
firstName : "Mohshin"
lastName : "Shah"
friends : [
{
firstName : "Friend 1"
lastName : "abc"
},
{
firstName : "Friend 2"
lastName : "def"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我想使用字典创建一个User对象.我尝试了Realm的init(value: Any)
方法,它只创建了具有平面值的用户,但没有启动朋友.