NSManagedObject 对于离线和在线获取的行为不同

在我的应用程序中,我调用 API 进行搜索,将结果保存在 Core Data 中,然后将它们显示在表格中。存储的数据用于离线搜索。

我已将 Codable 与 NSManagedObject 一起使用,以便更轻松地转换为对象。 (不知道这里是否相关)

无论如何,当我的应用从数据库获取数据时,它显示正常,但是当它从 API 获取数据时,对象的属性为空。

我在 API 的完成处理程序中调用以从 CoreData 获取和保存记录,因此我认为这就是并发问题的来源。

如果我将 viewContext 更改为 newBackgroundContext 或私有上下文,数据就会开始重复(即使我对 id 使用了唯一约束)或应用程序崩溃。有人能告诉我解决这个问题的正确方法是什么吗?我的 LocalStorageManger 类的代码如下。进行离线搜索的逻辑是 API 调用失败在另一个类中。

R = georasterref('RasterSize',[180 360],...
'RasterInterpretation','cells','ColumnsStartFrom','south','RowsStartFrom','west',...
'LatitudeLimits',[-89.5 89.5],'LongitudeLimits',[-179.5 179.5]);

axesm('miller');
% geoshow('landareas.shp')
load coastlines
plot(coastlon,coastlat) % load coastlines

contourm(X,R,'LineWidth',3)
iCMS 回答:NSManagedObject 对于离线和在线获取的行为不同

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/103726.html

大家都在问