草庐IT

CoreData

全部标签

iphone - 使用 CoreData 创建静态库时出现问题 - 无法使用 nil 模型创建 NSPersistentStoreCoordinator

如何引用我在静态库项目中创建的模型?这会返回null并抛出错误,因为资源位于这个静态库中://thiscodeisinthestaticlibrary-(NSManagedObjectModel*)managedObjectModel{if(__managedObjectModel!=nil){return__managedObjectModel;}NSURL*modelURL=[[NSBundlemainBundle]URLForResource:@"eCommerceEngine"withExtension:@"mom"];__managedObjectModel=[[NSMana

objective-c - CoreData NSPredicate 属性名称

我已经开始使用CoreData编写iPhone应用程序,并尝试使我的代码库尽可能易于维护。因此,我想避免硬编码字符串,例如:NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"name==%@",aName];相反,我希望能够编写如下内容:NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"%K==%@",Person.name,aName];这样我就可以让编译器检查name是否是实体Person的属性并避免拼写错误。尽管使用这段代码,我在编译时遇到了以下错误:在Pe

iphone - CoreData 保存/还原未保存的更改

我在UITableView中有一个对象列表,由NSFetchedResultsController管理。当用户选择一个对象时,会显示一个编辑View,允许用户编辑所选的NSManagedObject实例。当用户进行更改时,对象的属性会在对象中更新。问题是,和往常一样,有一个保存按钮和一个取消按钮。如果用户点击保存,NSManagedObjectContext将被保存,并反射(reflect)更改。但是,如果用户点击取消,我需要将对象恢复到之前的状态。调用[managedObjectContextrollback]不适用于此目的。有人知道如何正确实现吗?我无法在编辑期间将对象的属性存储为

ios - 在 CoreData 中存储 NSMutableAttributedString 的简单方法

我试图在CoreData中存储一个NSMutableAttributedString,但遇到了问题,因为我的NSMutableAttributedString的一些属性包含Core无法存档的基础对象。有没有一种简单的方法可以让这个对象存储在CoreData中,而不必手动做一些乱七八糟的事情? 最佳答案 NSMutableAttributedString符合NSCoding,这意味着它知道如何将自己转换为NSData并通过协议(protocol)实现CoreData知道如何使用。使属性“可转换”,然后只为其分配属性字符串。由于它是可转

ios - CoreData : Fetch and sort results in the order they were created, 不使用时间戳

这是一个非常简单的问题。我有一个使用本地文件初始化的CoreData数据库。看起来像这样的CoreData架构:Category-->>Objections-->>Responses-->>Evidence("-->>"表示,有很多)我正在使用NSFetchedResultsController从核心数据中检索对象。相当标准。NSEntityDescription*entity=[NSEntityDescriptionentityForName:NSStringFromClass([OHObjectionclass])inManagedObjectContext:self.manage

ios - 如何在用户卸载应用程序时备份coredata并在用户再次安装应用程序时恢复它

如何实现上述目标。我不想多设备同步。我只想保存核心数据并在用户重新安装应用程序时恢复它。哪种方法最好,任何人都可以提供链接。我试过iCloud,它主要用于多设备同步。任何帮助将不胜感激 最佳答案 你需要一个网络服务来做这件事,我推荐Parse.com,你需要做的就是创建一个数据存储的字典,parse会自动为你创建表。(除非有一种方法可以将数据保存到iOS文档目录中,该目录在删除后仍然存在) 关于ios-如何在用户卸载应用程序时备份coredata并在用户再次安装应用程序时恢复它,我们在S

ios - 罕见的 CoreData 崩溃 "nilOutReservedCurrentEventSnapshot"

我的应用程序中发生了崩溃,这种崩溃很少发生(可能每30次运行一次)。错误代码包含一个奇怪的选择器名称_nilOutReservedCurrentEventSnapshot__我根本找不到任何文档。这是来自我的控制台的提要:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'-[__NSCFType_nilOutReservedCurrentEventSnapshot__]:unrecognizedselectorsenttoinstance0x157b51e0'***Firstthrow

iphone - 在 iOS 上使用 coredata 对地理空间项进行排序。更新所有 'distance' 属性的最快方法

我正在开发一款应用程序,您可以使用它来搜索项目并根据距给定点的距离进行排序。我使用的方法是,当我从远程API获取数据时,我计算与当前位置的距离并将其存储为CoreData托管对象的属性。当我坐在家里开发时,这非常有效,但是当我在设备上使用,然后将设备移动到不同的位置时,属性就会不正确,因为所有元素的距离现在都已更改。我正在考虑的方法是遍历整个核心数据存储,并在iPhone改变位置时更新距离属性。明显的问题是,我无法对每一个Action都执行此操作,因为每次用户移动一英寸时,我都会遍历完整的CoreData存储。这会耗尽电池并导致用户体验缓慢一些解决方案:我可以限制存储在核心数据中的项目

ios - iCloud 的核心数据永远不会从 `Using local storage: 1` 切换

我已经为iCloud设置了CoreData,但它似乎从未切换到使用本地存储中的无处不在的存储。查看Xcode中的iCloud面板,我可以看到iCloud状态为空闲,我什至可以看到目录正在我无处不在的容器中创建(NSPersistentStoreUbiquitousContentNameKey),但从来没有任何事件(上传或下载)在图表上。我只在控制台中得到以下信息:-[PFUbiquitySwitchboardEntryMetadatasetUseLocalStorage:](760):CoreData:Ubiquity:me~3C82877D-69EE-5968-A69C-37FD71

ios - 删除或移除 CoreData 中的 ManagedObject

在文档和广泛的文献中,生成的用于删除/删除CoreDataforIOS中的子类托管对象的工厂方法是(void)removeXXXObject:(NSManagedObject*)value其中XXX是对应关系或者我们可以简单地使用removeObject。在我的代码中我使用了这个:Data*lastData=[[selfsortedPersonDatas]objectAtIndex:0];[selectedPersonremovePersonDatasObject:lastData];其中PersonDatas是与数据管理对象的一对多关系,我从中获取了最后一个数据(lastData来自