Core data CoreData中的日期是什么格式-日期还是字符串?

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*”

我有一个例行程序,可以比较某个记录上次在网站上更新的时间与保存在iPad上的
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。帮了大忙-谢谢。