迁移从一个阵列对象到另一个在境界迅速不同的对象(Migrate objects from one a

2019-11-05 08:32发布

我想境界对象从一个域对象迁移到另一个。 在第一课“的Firstclass”我创造了新的名单是境界对象的名单。 我想填充从所谓的“二等”已存在列表中的第二类相同的列表。 我试过几件事情,但应用程序崩溃每次。

migration.enumerateObjects(ofType: FirstClass.className(), { (oldFirstItem, newFirstItem) in
                        migration.enumerateObjects(ofType: "ClaimDetailsItem", { (oldSecondItem, _) in
                            if let oldClaim = oldFirstItem, let oldSecondItem = oldSecondItem, let newFirstItem = newFirstItem {

//                                    let videos = List<MigrationObject>()
//                                    if let oldCustomObject = oldSecondItem["videosArray"] as? List<MigrationObject> {
//                                        for item in oldCustomObject {
//                                            videos.append(item)
//                                        }
//                                    }
//
//                                    newFirstItem["videosArray"] = videos
                                }
                            }
                        })
                    })

所以在上面的例子中,我想移动从第二类对象中的所有“VideoItem”对象的第一个。

我的第一类:

class FirstClass: Object {
    var videosArray = List<VideoItem>()
}

我的第二类:

class SecondClass: Object {
    var videosArray = List<VideoItem>()
}

因此,在第一类中的名单新加入,我想用相同的物体如在第二类中的列表来填充。

而在接下来的迁移,我删除第二类,因为我不需要它了。

if oldSchemaVersion < 23 {
    migration.deleteData(forType: "SecondClass")
}
文章来源: Migrate objects from one array to another in different objects in Realm swift
标签: ios swift realm