Core data CoreData中的日期是什么格式-日期还是字符串?
我有一个例行程序,可以比较某个记录上次在网站上更新的时间与保存在iPad上的Core data CoreData中的日期是什么格式-日期还是字符串?,core-data,Core Data,我有一个例行程序,可以比较某个记录上次在网站上更新的时间与保存在iPad上的CoreData中的相同记录。这里,obsLastUpdated是CoreData集中的一个字段,类型为Date 将数据从CoreData读取到NSDate中: NSDate *iPadDate = [[self.recordDetails objectAtIndex:0] obsLastUpdated]; //gets the date from CoreData 我得到这个警告: 使用表达式初始化“NSDate*”
CoreData
中的相同记录。这里,obsLastUpdated是CoreData集中的一个字段,类型为Date
将数据从CoreData
读取到NSDate中:
NSDate *iPadDate = [[self.recordDetails objectAtIndex:0] obsLastUpdated]; //gets the date from CoreData
我得到这个警告:
使用表达式初始化“NSDate*”的指针类型不兼容
类型为“NSString*”的
然而,这只是一个警告,一切仍然有效。如果我尝试将此NSDate
iPadDate与另一个NSDate
进行比较,则不会出现错误,一切正常。但我想追根究底的警告
如果我以字符串形式读取CoreData
,并将其转换为NSDate
,我似乎无法获得正确的格式,应用程序就会崩溃。我试过:
NSString *iPadDateStr = [[self.recordDetails objectAtIndex:0] obsLastUpdated];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *iPadDate = [dateFormat dateFromString: iPadDateStr];
我意识到,CoreData
不会将日期存储为NSDate
,但它是如何准确存储的,我如何避开警告
CoreData实体:
更新:
错误在类中,obsLastUpdated被声明为NSString。更改为NSDate,一切正常 只需将其定义为
NSDate
,而不是NSString
:
MyEntity *entity = [self.recordDetails first];
NSDate *iPadDate = entity.obsLastUpdated;
只需将其定义为
NSDate
,而不是NSString
:
MyEntity *entity = [self.recordDetails first];
NSDate *iPadDate = entity.obsLastUpdated;
请显示核心数据模型实体的屏幕截图。然后,您已经创建了核心数据模型以包含字符串。不是约会。你能展示你的核心数据模式的屏幕截图吗。还包括目标代码。类的代码是什么?有点不对劲。告诉我们哪里不对。不是正确的。:-)在核心数据中将属性设置为日期时,它将返回NSDate。你确定你已经完成了一个干净的构建吗?您最近是否将其从字符串更改为日期?否。代码来自实际观察类。定义属性的代码调用ObslastUpdateOf course。。。。非常感谢。它被设置为字符串。你已经澄清了我的问题,它是否真的存储为NSDate。非常好的帮助-谢谢。请显示核心数据模型实体的屏幕截图。然后,您已经创建了核心数据模型以包含字符串。不是约会。你能展示你的核心数据模式的屏幕截图吗。还包括目标代码。类的代码是什么?有点不对劲。告诉我们哪里不对。不是正确的。:-)在核心数据中将属性设置为日期时,它将返回NSDate。你确定你已经完成了一个干净的构建吗?您最近是否将其从字符串更改为日期?否。代码来自实际观察类。定义属性的代码调用ObslastUpdateOf course。。。。非常感谢。它被设置为字符串。你已经澄清了我的问题,它是否真的存储为NSDate。帮了大忙-谢谢。