swift3 – 如何使用Dictionary将字符串数组存储到Realm实例中?
我是Realm的新手并且遇到了这个问题.
我有这样的字典 { firstName : "Mohshin" lastName : "Shah" nickNames : ["John","2","3","4"] } 和这样的一个类 class User: Object { var firstName: String? var lastName: String? var nickNames: [String]? } 当我尝试插入值时,它会抛出异常,如下所示 属性“nickNames”声明为“NSArray”,它不是受支持的RLMObject属性类型.所有属性必须是基元,NSString,NSDate,NSData,NSNumber,RLMArray,RLMLinkingObjects或RLMObject的子类. var nickNames = NSArray() var nickNames = NSMutableArray() 但是没有工作.我是否需要制作Nickname模型类并创建一个属性如下,或者有一种方法可以做到这一点? var nickNames = List<Nickname>()
更新:
您现在可以直接在RLMArrays或Lists中存储基本类型或其可空对应项(更具体地说:布尔值,整数和浮点数类型,字符串,日期和数据).如果要定义此类原始值的列表,则不再需要定义繁琐的单字段包装器对象.相反,您可以自己存储原始值. 原始值列表与包含对象的列表的工作方式大致相同,如下面的示例演示Swift: class Student : Object { @objc dynamic var name: String = "" let testScores = List<Int>() } // Retrieve a student. let realm = try! Realm() let bob = realm.objects(Student.self).filter("name = 'Bob'").first! // Give him a few test scores,and then print his average score. try! realm.write { bob.testScores.removeAll() bob.testScores.append(94) bob.testScores.append(89) bob.testScores.append(96) } print("(bob.testScores.average()!)") // 93.0 Realm支持的所有其他语言也支持基元类型列表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |