草庐IT

x-coredata

全部标签

ios - 在后台线程上保存到 CoreData Context

我为此苦苦挣扎了一段时间,Apple的文档和SO到目前为止都没有帮助。我在UIManagedDocument上使用ManagedObjectContext,下面的代码工作正常。然后我决定在AppDelegate中使用Apple的CoreData模板,因此在AppDelegate中创建模型、持久存储协调器和上下文。使用AppDelegate的上下文获取是没有问题的,但是后台保存是一个问题。我应该在我正在保存的线程上有本地上下文,并且按照Apple的要求有相同的持久性存储协调器。但是下面的代码实际上并没有保存数据。这里有人可以建议吗?谢谢。-(void)fetchAndPersist{di

ios - 什么是 CoreData 故障?

谁能解释一下coredatafaulting是什么意思?我知道这是一种减少内存的机制。但我的问题是,如果当我们尝试使用故障对象时,我们是否需要调用任何刷新方法或CoreData是否会为我们选择值?如果CoreData为我们处理它,如果故障对象从实际持久存储中删除并且我们尝试通过故障对象访问它会发生什么?它会抛出任何异常吗? 最佳答案 在CoreData中,故障是占位符,或“未实现的对象”。它们是引用其他NSManagedObjects的小对象,仅在需要时才将其提取到内存中。这种故障机制旨在提高性能并减少内存使用。一般来说,故障机制是

ios - 什么是 CoreData 故障?

谁能解释一下coredatafaulting是什么意思?我知道这是一种减少内存的机制。但我的问题是,如果当我们尝试使用故障对象时,我们是否需要调用任何刷新方法或CoreData是否会为我们选择值?如果CoreData为我们处理它,如果故障对象从实际持久存储中删除并且我们尝试通过故障对象访问它会发生什么?它会抛出任何异常吗? 最佳答案 在CoreData中,故障是占位符,或“未实现的对象”。它们是引用其他NSManagedObjects的小对象,仅在需要时才将其提取到内存中。这种故障机制旨在提高性能并减少内存使用。一般来说,故障机制是

objective-c - 具有多个商店的 CoreData : configuration woes

我有一个iOS项目,其中包含一个大型预加载数据库和一个小型用户数据库(均为CoreDataSQLite存储)。之前的问题建议使用配置来控制哪些实体与哪些商店一起使用。我无法让它工作。这是我一直在尝试的...-(NSManagedObjectModel*)managedObjectModel{if(_managedObjectModel!=nil)return_managedObjectModel;//setupthemodelforthepreloadeddataNSURL*itemURL=[[NSBundlemainBundle]URLForResource:@"FlagDB"wit

objective-c - 具有多个商店的 CoreData : configuration woes

我有一个iOS项目,其中包含一个大型预加载数据库和一个小型用户数据库(均为CoreDataSQLite存储)。之前的问题建议使用配置来控制哪些实体与哪些商店一起使用。我无法让它工作。这是我一直在尝试的...-(NSManagedObjectModel*)managedObjectModel{if(_managedObjectModel!=nil)return_managedObjectModel;//setupthemodelforthepreloadeddataNSURL*itemURL=[[NSBundlemainBundle]URLForResource:@"FlagDB"wit

ios - 将旧的 CoreData 模型导入新项目

我有一个旧的Xcode项目,其中包含一个CoreData模型(包含模型的版本1和版本2)。出于多种原因,我需要创建一个新的Xcode项目并将所有代码转移到新项目中。我如何导入/传输我的旧CoreData模型,使这个新的二进制文件仍然能够读取并可能迁移我现有用户的iPhone和iPad上现有的CoreData存储?我担心如果我使用这个新项目推送新版本,我的用户会将他们的应用程序更新到最新版本,然后它会崩溃,因为模型或模型版本号不匹配。我不是在谈论在同一应用程序中向数据模型添加新版本。我理解那个过程。这是关于将现有数据模型从旧项目移动/导入/等到新项目中。我是否应该只复制文件并手动将它们添

ios - 将旧的 CoreData 模型导入新项目

我有一个旧的Xcode项目,其中包含一个CoreData模型(包含模型的版本1和版本2)。出于多种原因,我需要创建一个新的Xcode项目并将所有代码转移到新项目中。我如何导入/传输我的旧CoreData模型,使这个新的二进制文件仍然能够读取并可能迁移我现有用户的iPhone和iPad上现有的CoreData存储?我担心如果我使用这个新项目推送新版本,我的用户会将他们的应用程序更新到最新版本,然后它会崩溃,因为模型或模型版本号不匹配。我不是在谈论在同一应用程序中向数据模型添加新版本。我理解那个过程。这是关于将现有数据模型从旧项目移动/导入/等到新项目中。我是否应该只复制文件并手动将它们添

ios - CoreData 模型中的 Fetch Index 元素是什么?

在我的xcdatamodel中,两个新字段byTitleIndex和compoundIndex显示在FetchIndexElements下。我以前没有在Xcode中看到过这一部分。什么是获取索引元素? 最佳答案 FetchIndexElements是Apple在WWDC2017上宣布的新索引API的一部分。它们允许您指定一个或多个索引元素;用于创建索引以加快数据库搜索的属性。在您的例子中,“title”属性将用于在“Passage”实体下创建一个名为“compoundIndex”的索引,以便更快地搜索标题。公告:https://de

ios - CoreData 模型中的 Fetch Index 元素是什么?

在我的xcdatamodel中,两个新字段byTitleIndex和compoundIndex显示在FetchIndexElements下。我以前没有在Xcode中看到过这一部分。什么是获取索引元素? 最佳答案 FetchIndexElements是Apple在WWDC2017上宣布的新索引API的一部分。它们允许您指定一个或多个索引元素;用于创建索引以加快数据库搜索的属性。在您的例子中,“title”属性将用于在“Passage”实体下创建一个名为“compoundIndex”的索引,以便更快地搜索标题。公告:https://de

iphone - 解决CoreData错误: NULL _cd_rawData but the object is not being turned into a fault

有时,在使用Core-Data对象时,应用程序会因错误而崩溃:CoreData:error:NULL_cd_rawDatabuttheobjectisnotbeingturnedintoafault根据我在互联网上的研究和阅读,当托管对象上下文在两个线程之间传递并且MOC不是线程安全时,就会发生这种情况。每当我想从CD对象访问属性时,就会出现此崩溃。如果我有Person对象并想访问Perosn.name应用程序可能会因此错误而崩溃(如前所述,据我所知,它随机发生并且我无法重现它,有时它会在一个周期内发生10次排,然后一两天都不会发生)。在看这个问题的时候,好像是在我获取Person并更