如何从核心数据中检索日期并在UIPicker中设置值

时间:2014-12-16 16:23:37

标签: objective-c core-data xcode6 data-retrieval

我正在使用xCode 6和Objective-C编写iOS应用程序。我也使用Core数据来存储字符串,整数和日期。我试图不仅将数据存储在核心中,还要检索/获取它们

我在检索类型为date(purchaseDate)的核心数据中的属性值时遇到问题。我使用UIDatePicker获取日期以获取日期,然后存储执行以下操作的日期,

[newItem setValue:self.purchaseDate.date forKey:@"purchaseDate"];

其中newItem的类型为NSManagedObject;

这没有任何问题。

存储后,我现在尝试在用户点击给定条目时检索它。我检索字符串和整数没有任何问题,但在我尝试检索Date属性(称为purchaseDate)时出错。

我正在尝试类似以下引发异常的内容,

// Set purchase date

[self.purchaseDate setValue:self.inventorydb forKey:@"purchaseDate"];

请注意,类中的属性称为purchaseDate,类型为UIDatePicker,而核心数据中的属性属于Date类型,也称为purchaseDate。

我得到的例外是:

UIDatePicker setValue:forUndefinedKey this class is not key value coding-compliant for the key purchaseDate.

我已经完成了清理,重建以及从iOS模拟器中删除应用程序无济于事。

我一直在寻找其他例子,但没有发现任何有用的东西。在这方面的任何帮助表示赞赏!。

2 个答案:

答案 0 :(得分:0)

您可能希望先将日期置于NSDate中,然后执行以下操作:

self.purchaseDate.date = theNSDate;

在您获取NSDate但尝试将其放入self.purchaseDate时,您似乎试图在UIDatePicker中放置NSDate类型的对象。

答案 1 :(得分:0)

根据您的建议,我尝试了以下有效的方法。

[self.purchaseDate setDate:[self.inventorydb valueForKey:@" purchaseDate"]];