gpt4 book ai didi

objective-c - Core Data迁移后如何保持数据排序?

转载 作者:行者123 更新时间:2023-11-28 08:23:51 25 4
gpt4 key购买 nike

在当前项目中,我有一组使用核心数据存储的对象。现在我需要向 DataModel 添加一个字段。

我已经添加了它,创建了新的映射模型,将其设置为当前并成功迁移到新的数据模型。一切正常,但是……我的数据顺序丢失了。由于某些奇怪的原因,以前的开发人员没有为数据模型创建任何顺序属性,并且在获取数据时自动对其进行了排序(我相信是按 id..)

使用映射模型迁移到新数据模型后,每次迁移后我的数据都会随机排序。一些与此数据顺序相关的应用程序逻辑现在已损坏。

如何解决这个问题?可以根据旧 ID 创建订单属性吗?或者我如何使用 ID 进行迁移?

已经花了一天时间解决这个问题,但没有找到解决方案。

非常感谢!亚历克斯。

请求检索数据代码:

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Area" inManagedObjectContext:[self context]];

NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];

NSError *error;
return [[[self context] executeFetchRequest:request error:&error] mutableCopy];

最佳答案

最简单的方法是不依赖于某些内部排序。当您访问数据时,将排序描述符添加到获取请求中。

还要确保您的排序结果按顺序处理,请使用老式循环 for (int i = 0; i < array.count; i++)而不是枚举器 for (id a in array) .

关于objective-c - Core Data迁移后如何保持数据排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40625375/

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