gpt4 book ai didi

core-data - NSManagedObjectModel 版本标识符

转载 作者:行者123 更新时间:2023-12-04 06:44:13 25 4
gpt4 key购买 nike

NSManagedObjectModel -versionIdentifiers 的文档说,

The Core Data framework does not give models a default identifier, nor does it depend this value at runtime. For models created in Xcode, you set this value in the model inspector.



我不确定,但我认为设置版本标识符可能对我编码模型迁移策略类有所帮助。有谁知道如何在 Xcode 中设置这些标识符?我已经尝试了很多但没有成功。

谢谢。

最佳答案

好吧,这种方法最终对我没有帮助。我使用以下代码解决了我的 Core Data 迁移调试问题:

    NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Spark.sqlite"]];

NSError *error = nil;
NSDictionary *sourceMetadata = [NSPersistentStoreCoordinator metadataForPersistentStoreOfType:NSSQLiteStoreType
URL:storeUrl
error:&error];

if (!sourceMetadata)
NSLog(@"sourceMetadata is nil");
else
NSLog(@"sourceMetadata is %@", sourceMetadata);

另一方面,我刚刚找到了我最初问题的答案,fwiw。

如果您转到您的项目窗口并选择一个 .xcdatamodel 文件并“获取信息”,那么大多数情况下您将获得一个“文件“Xxx.xcdatamodel”信息”窗口 - 带有“常规”、“目标”、“构建” ' 和 '评论' 标签。 (是的,“大部分时间”部分让我感到困惑。)

但是,如果您再次选择您的 .xcdatamodel 文件并“获取信息”,您(可能)会得到一个非常不同的检查器 - 一个称为“数据模型“Xxx”信息的检查器。此窗口有两个选项卡:“外观”和“版本控制”。 Versioning 选项卡允许您设置模型版本标识符。

底线:在 Xcode 中设置模型版本标识符类似于进入平台 9 3/4 - 但与 9 3/4 不同的是,一旦你到达那里,就不清楚你为什么想要在那里。

关于core-data - NSManagedObjectModel 版本标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3895156/

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