gpt4 book ai didi

ios - 具有多个目标的核心数据自定义迁移策略

转载 作者:可可西里 更新时间:2023-11-01 06:12:59 28 4
gpt4 key购买 nike

如果我想为给定的实体使用自定义迁移策略,我相信我必须在类名前加上产品模块名,如下图所示:

Mapping Model Inspector

我如何设法处理多个目标?

我尝试使用以下条目:$(PRODUCT_MODULE_NAME).VisitToVisitPolicy 但这似乎不起作用。我仍然可以复制映射模型,每个目标一个,但感觉不对。

最佳答案

尝试在应用程序和测试目标之间共享模型文件时遇到同样的问题。几乎放弃并认为我将不得不使用你的重复 hack,但谢天谢地找到了一个理智的方法:

// Get mapping model
let mappingModel = NSMappingModel(from: [.main],
forSourceModel: sourceModel,
destinationModel: destinationModel)!

// Get migration policy class name that also includes the module name
let fullClassName = NSStringFromClass(NSEntityMigrationPolicySubclass.self)

// Set policy here (I have one policy per migration, so this works)
mappingModel.entityMappings.forEach {
$0.entityMigrationPolicyClassName = fullClassName
}

// Migrate
let manager = NSMigrationManager(sourceModel: sourceModel,
destinationModel: destinationModel)

try! manager.migrateStore(from: sourceURL,
sourceType: NSSQLiteStoreType,
options: nil,
with: mappingModel,
toDestinationURL: destinationURL,
destinationType: NSSQLiteStoreType,
destinationOptions: nil)

关于ios - 具有多个目标的核心数据自定义迁移策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48284404/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com