在getPlayer = revAr[which].trim();
期间,我想从RealmSwift migration
迁移到dynamic var customObject: CustomObject
。 let customObjectList = List<CustomObject>()
的类型为CustomObject
这是迁移中的代码块
Object
无法将'RealmSwift.DynamicObject'(0x1015c82d0)类型的值转换为'AppName.CustomObject'(0x1006e5550)。
我如何实现我想要的?目前我能想到的是创建一个CustomObject&amp;手动为其分配值。
编辑1
我想将一个primaryKey添加到CustomObject。我一直收到重复的主键错误,我很确定分配的密钥是唯一的。
致命错误:'试试!'表达式意外地引发了错误:Error Domain = io.realm Code = 0“主键属性'resultKey'在迁移后具有重复值。”
let newList = List<CustomObject>()
if oldObject!["customObject"] != nil {
print(oldObject!["customObject"])
var obj = oldObject!["customObject"]
var result: CustomObject = obj as! CustomObject //Crash
farList.append(result)
}
newObject!["customObjectList"] = newList
编辑2
我设法通过使
migration.deleteData(CustomObject.className()) if oldObject!["customObject"] != nil { let oldSubFar = oldObject!["customObject"] as! MigrationObject var newFarDict = oldSubFar.dictionaryWithValuesForKeys(["firstName","secondName"]) newFarDict["resultKey"] = NSUUID().UUIDString + "v1" let newSubFar = migration.create(CustomObject.className(), value: newFarDict ) print(newSubFar) //its the updated object that i want let subFarList = newObject!["customObjectList"] as! List<MigrationObject> subFarList.append(newSubFar) }
不是主键来弄清楚错误是什么。该应用运行完美,当我打开resultKey
查看值时,.realm
下有一些""
字段 - &gt;重复的主键。 &GT;&LT;
答案 0 :(得分:5)
我认为你想做的事情就像是:
如果需要,删除所有if(!$query){
echo("Error description: " . mysqli_error($con));
}
数据,因为迁移列表对象无法附加现有对象。
然后,您可以枚举CustomObject
个对象,并从User
的属性创建每个CustomObject
。新的User
对象具有User
属性,然后将customObject
对象附加到列表中。
CustomObject