我目前正在CoreData的iOS应用程序中保存日期。在核心数据中,我的日期属性是“日期”类型。在我的NSManagedObjectSubclass文件中,该属性的类型为:NSDate(这很好)。CoreData中的日期存储为:2014/05/1614:54:51,当我在SQLite3导航器中检查实际值时,它以以下形式存储:日期为421959291.293972如何获取上述日期值,是否可以将其转换回以下形式:2014/05/1614:54:51?我问这个是因为我正在尝试通过CSV文件创建数据集,并希望确保我在CSV文件中输入的所有值都被CoreData/SQLite3正确转换为正确的格
我已经使用CoreData将数据保存到数据库中。我需要按照保存时的相同顺序从我的表中获取数据。在表内,它按Z_PK排序-隐藏的CoreData键。我怎样才能创建这样的排序描述符。如果我使用没有排序描述符的获取请求,我的数据对象的顺序是错误的。 最佳答案 CoreData框架没有向您公开的任何内容都是实现细节。Z_PK存在并且目前适合您的目的这一事实是不可信赖的。如果创建/保存顺序对您的模型很重要,那么它应该包含在您的模型中。真的没有别的了。 关于iphone-iOS从CoreData中获
当核心数据与iCloud同步时,有时我的所有记录都会翻倍。我相信这会发生在重新安装时,应用程序尚未同步数据,创建新数据集,然后iCloud同步并且每个模型的每条记录都有两倍。有没有办法防止这种行为?现在我正在检查每个模型的负载和数据同步是否有重复,但这看起来很乱而且很老套。 最佳答案 iCloud以异步方式在设备之间传输数据,在您将数据添加到iCloud容器与实际传输数据之间可能会有相当长的时间。元数据在设备之间的传输速度更快,但即使这样也可能会延迟很长时间。这一点之所以重要,是因为您永远无法在一台设备上进行测试来保证数据尚未添加到
我正在使用RestKit0.20映射2个实体。存在一对多关系。老师>学校类(class)这是老师.h@classSchoolClass;@interfaceTeacher:NSManagedObject@property(nonatomic,retain)NSString*firstName;@property(nonatomic,retain)NSString*lastName;@property(nonatomic,retain)NSNumber*teacherId;@property(nonatomic,retain)NSSet*teachesClass;@end@interfa
我在尝试将托管上下文(在后台线程上运行)与我的主托管上下文(在主线程上)合并时遇到以下异常。我似乎无法在我自己的@try表达式中捕捉到异常。有没有人对这个问题有任何见解?我正在使用默认的合并策略,但我不确定这是正确的-这个问题是间歇性的-很少发生但会导致我的应用程序崩溃。ExceptionType:EXC_CRASH(SIGABRT)ExceptionCodes:0x00000000,0x00000000CrashedThread:0LastExceptionBacktrace:0CoreFoundation0x37e3b8bf__exceptionPreprocess+1631lib
我在CoreData(在iOS10上)请求中遇到一个奇怪的异常,它似乎并没有可靠地发生,我想知道是否有人有任何建议。该代码不允许在获取请求中使用任何nil指针,所以不是这样。堆栈跟踪如下,源于一个相当简单的获取:NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"user==%@ANDactive==1",activeUser];[requestsetPredicate:predicate];NSArray*result=[syncContextexecuteFetchRequest:requesterror:&error];
我有一个需要本地存储的iPhone应用程序。我最初的想法是使用核心数据,这对大多数应用程序来说都很好,然而,一个主要的block是在数据上使用聚合。在SQLite中,这是MIN、MAX、AVG、GROUP_BY等的标准用法。但是核心数据并没有很好地实现这些,因为它主要用于对象图管理。如果我在从CoreData加载后在Obj-C中进行计算,或者我应该坚持使用SQLite并放弃CoreData系统其他部分的用处,这是否重要?用于聚合的集合并不大(比如最多100个对象)。我需要做一些事情,比如分发。我知道这里没有具体的答案,只是想要一些第二种选择。谢谢 最佳答案
当我的主视图Controller加载并调用viewDidLoad时,我正在执行一个获取请求并退出一个数组或我的核心数据对象:+(NSArray*)getData{//FetchDataNSError*error=nil;if(![[[AppDelegateinstance]fetchedResultsController]performFetch:&error]){//Updatetohandletheerrorappropriately.NSLog(@"Unresolvederror%@,%@",error,[erroruserInfo]);abort();}NSArray*item
我确实创建了一个xcdatamodel来迁移属性(在我的例子中是从integer16到string),但是这个错误触发了。 最佳答案 如果您在创建xcmappingmodel文件后修改了模型,则可能会发生此错误。在我的例子中是目的地,但我认为源也会发生这种情况。似乎在那种情况下,xcmappingmodel将不会被应用,即使xcode仍然将其报告为从ModelX到ModelY的映射。 关于ios-CoreData源和目标属性类型不兼容,我们在StackOverflow上找到一个类似的问题
在将问题标记为thisquestion的副本之前请阅读说明。我不需要在评论中继续讨论。所以我想为消息传递应用程序创建CoreData模型。就像我在本主题中提到的那样-我有三个实体:User实体定义消息的作者和对话的参与者。Message实体定义了应用程序发送的每条文本。Conversation实体定义了用户使用消息进行的对话。好的,我的数据模型是这样的:但这里的一切都是相互联系的。提到的答案和我的解决方案之间的唯一区别是User和Message使用一对多关系连接。我想我需要它,因为没有它就不可能知道谁在对话中写了什么。但据我所知,当一切都相互连接时,数据模型毫无意义。所以这里的关键目标