保存NSDate和NSNumber和/或在相同的核心数据属性中

时间:2012-06-08 05:41:42

标签: iphone cocoa-touch core-data nsdate nsnumber

必须在IB中创建核心数据模型时指定它将具有什么样的属性,如String,Date,Integer,Decimal等选项。

我的问题是,我如何存储让我们在相同的属性中说一个NSDate,并在其他时候,添加一个新的实体,但这次使用该属性的NSNumber。

换句话说,我只想在coredata中使用id Object的等价物,在获取之后,我会检查[[Object isKindOfClass[NSDate class]]或NSNumber。

我听说过可转换,但我没有创建要存储的自定义对象。 任何关于这个的亮点都会很棒

2 个答案:

答案 0 :(得分:0)

我在当前项目中遇到过这种情况。如果你的值包含int,float,boolean,你可以使用NSNumber作为属性,如果它包含NSDate,那么属性应该是实体中的字符串。

希望得到这个帮助。

答案 1 :(得分:0)

这是一个非常糟糕的主意。实际上,日期在SQLite中表示为数字,但Core Data可能使用不同类型的商店,因此您只是假设事情如何发挥作用。

为您的实体numberdate指定其他属性会更清晰,更轻松。然后,您可以轻松检查其中是否有nil或包含值。甚至引入第三个属性来告诉您对象是否具有日期或数字将优于您的设置。