加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift Realm Property’*’已被添加到最新的对象模型MIGRATION中

发布时间:2020-12-14 05:43:34 所属栏目:百科 来源:网络整理
导读:我已经将新的数组属性添加到R??LMObject和 public class Student: RLMObject { dynamic var id = 0 dynamic var name = "" dynamic var resultList = RLMArray(objectClassName:Result.className())}public class Result: RLMObject {} 错误日志: Migration
我已经将新的数组属性添加到R??LMObject和
public class Student: RLMObject {
    dynamic var id = 0
    dynamic var name = ""
    dynamic var resultList = RLMArray(objectClassName:Result.className())
}

public class Result: RLMObject {
}

错误日志:

Migration is required for object type ‘Student’ due to the following
errors:
– Property ‘resultList’ has been added to latest object model.

TRY失败:

let configuration:RLMRealmConfiguration = RLMRealmConfiguration.defaultConfiguration()

migration.enumerateObjects(Student.className()) { oldObject,newObject in
    newObject!["resultList"] = RLMArray(objectClassName: Result.className())
}

编辑:

let configuration:RLMRealmConfiguration = RLMRealmConfiguration.defaultConfiguration()
    print("Realm db current version: (configuration.schemaVersion)")
    configuration.schemaVersion = 1
    configuration.migrationBlock = {(migration:RLMMigration,oldSchemaVersion: UInt64) in
        print("Realm db migration start")
        if oldSchemaVersion < 1 {
            print("Schema version: 1 - Rename fields")
            migration.enumerateObjects(Student.className()) { oldObject,newObject in
                newObject!["creationDate"] = oldObject!["createdAt"]
                newObject!["modifiedDate"] = oldObject!["updatedAt"]
            }
        }
        print("Realm db migration finish")
    }
    RLMRealmConfiguration.setDefaultConfiguration(configuration)
    let realm = RLMRealm.defaultRealm()

解:

将您的版本更新为1

configuration.schemaVersion += 1
您必须增加schemaVersion并在RLMRealmConfiguration上提供migrationBlock.在那里你可以迁移表.但是你不需要在你的具体情况下.可以自动处理属性的添加.你还需要一个空块.
let config = RLMRealmConfiguration.defaultConfiguration()
config.schemaVersion = 1
config.migrationBlock = { (migration,oldSchemaVersion) in
    // nothing to do
}
RLMRealmConfiguration.setDefaultConfiguration(config)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读