我将日期和时间保存在我的CoreData存储中,并且需要向用户准确呈现最初输入的时间。问题是,如果他们在东海岸输入4:00,然后查看西海岸记录的时间,显示为1:00,因为iPhone将世界时间转换为本地时间。我需要它显示4:00——可能是4:00(+3h00)。在我去重构我的CoreData模型之前,我想确定没有办法从存储的NSDate对象派生出在创建时处于事件状态的NSTimeZone。在那儿?如果没有,有什么建议如何最好地自己在创建时捕获NSTimeZone?表示创建时间NSTimeZone与GMT时差的NSNumber?谢谢。 最佳答案
我们遇到了这个问题,不同的线程在相同的记录上看到不同的数据,但具有不同的托管对象上下文(moc)。我们的应用程序在后台同步到服务器API。所有的同步都是在它自己的线程上完成的,并使用它自己的moc。然而,我们发现当数据在主moc上更新时,数据的变化不会显示在后台moc中。任何想法可能会发生什么?这里有一些更多的细节:我们正在使用像这样的大中央调度来将同步操作放在它自己的线程上:我们已经检查了哪些队列正在运行,并且这一切都发生在预期的队列上。-(void)executeSync;{dispatch_async(backgroundQueue,^(void){if([selfisDebug
如何引用我在静态库项目中创建的模型?这会返回null并抛出错误,因为资源位于这个静态库中://thiscodeisinthestaticlibrary-(NSManagedObjectModel*)managedObjectModel{if(__managedObjectModel!=nil){return__managedObjectModel;}NSURL*modelURL=[[NSBundlemainBundle]URLForResource:@"eCommerceEngine"withExtension:@"mom"];__managedObjectModel=[[NSMana
我已经开始使用CoreData编写iPhone应用程序,并尝试使我的代码库尽可能易于维护。因此,我想避免硬编码字符串,例如:NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"name==%@",aName];相反,我希望能够编写如下内容:NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"%K==%@",Person.name,aName];这样我就可以让编译器检查name是否是实体Person的属性并避免拼写错误。尽管使用这段代码,我在编译时遇到了以下错误:在Pe
我在UITableView中有一个对象列表,由NSFetchedResultsController管理。当用户选择一个对象时,会显示一个编辑View,允许用户编辑所选的NSManagedObject实例。当用户进行更改时,对象的属性会在对象中更新。问题是,和往常一样,有一个保存按钮和一个取消按钮。如果用户点击保存,NSManagedObjectContext将被保存,并反射(reflect)更改。但是,如果用户点击取消,我需要将对象恢复到之前的状态。调用[managedObjectContextrollback]不适用于此目的。有人知道如何正确实现吗?我无法在编辑期间将对象的属性存储为
我试图在CoreData中存储一个NSMutableAttributedString,但遇到了问题,因为我的NSMutableAttributedString的一些属性包含Core无法存档的基础对象。有没有一种简单的方法可以让这个对象存储在CoreData中,而不必手动做一些乱七八糟的事情? 最佳答案 NSMutableAttributedString符合NSCoding,这意味着它知道如何将自己转换为NSData并通过协议(protocol)实现CoreData知道如何使用。使属性“可转换”,然后只为其分配属性字符串。由于它是可转
这是一个非常简单的问题。我有一个使用本地文件初始化的CoreData数据库。看起来像这样的CoreData架构:Category-->>Objections-->>Responses-->>Evidence("-->>"表示,有很多)我正在使用NSFetchedResultsController从核心数据中检索对象。相当标准。NSEntityDescription*entity=[NSEntityDescriptionentityForName:NSStringFromClass([OHObjectionclass])inManagedObjectContext:self.manage
如何实现上述目标。我不想多设备同步。我只想保存核心数据并在用户重新安装应用程序时恢复它。哪种方法最好,任何人都可以提供链接。我试过iCloud,它主要用于多设备同步。任何帮助将不胜感激 最佳答案 你需要一个网络服务来做这件事,我推荐Parse.com,你需要做的就是创建一个数据存储的字典,parse会自动为你创建表。(除非有一种方法可以将数据保存到iOS文档目录中,该目录在删除后仍然存在) 关于ios-如何在用户卸载应用程序时备份coredata并在用户再次安装应用程序时恢复它,我们在S
我的应用程序中发生了崩溃,这种崩溃很少发生(可能每30次运行一次)。错误代码包含一个奇怪的选择器名称_nilOutReservedCurrentEventSnapshot__我根本找不到任何文档。这是来自我的控制台的提要:***Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'-[__NSCFType_nilOutReservedCurrentEventSnapshot__]:unrecognizedselectorsenttoinstance0x157b51e0'***Firstthrow
我正在开发一款应用程序,您可以使用它来搜索项目并根据距给定点的距离进行排序。我使用的方法是,当我从远程API获取数据时,我计算与当前位置的距离并将其存储为CoreData托管对象的属性。当我坐在家里开发时,这非常有效,但是当我在设备上使用,然后将设备移动到不同的位置时,属性就会不正确,因为所有元素的距离现在都已更改。我正在考虑的方法是遍历整个核心数据存储,并在iPhone改变位置时更新距离属性。明显的问题是,我无法对每一个Action都执行此操作,因为每次用户移动一英寸时,我都会遍历完整的CoreData存储。这会耗尽电池并导致用户体验缓慢一些解决方案:我可以限制存储在核心数据中的项目