从Core Data中提取NSDate并显示IOS

时间:2012-12-01 03:57:09

标签: ios objective-c core-data

我正在制作一个iPhone应用程序,我在Core数据中有一个NSDate,我正在尝试显示它但是我一直收到这个错误:

  

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSDate isEqualToString:]:无法识别的选择器发送到实例0x81b7840'。

我下面的代码是从字典中提取数据。我怎样才能让它发挥作用?

self.lblTheDate.text = [self.item valueForKey:@"MyDate"];

2 个答案:

答案 0 :(得分:3)

使用类似于以下的内容将NSDate(在您的字典中)转换为NSString,但选择所需的正确日期和时间样式:

self.lblTheDate.text = [NSDateFormatter localizedStringFromDate:[self.item valueForKey:@"MyDate"] dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterNoStyle]

日期和日期有多种选择。时间风格:

NSDateFormatterNoStyle     : Specifies no style,
NSDateFormatterShortStyle  : Specifies a short style, typically numeric only, such as “11/23/37” or “3:30pm”,
NSDateFormatterMediumStyle : Specifies a medium style, typically with abbreviated text, such as “Nov 23, 1937”,
NSDateFormatterLongStyle   : Specifies a long style, typically with full text, such as “November 23, 1937” or “3:30:32pm”,
NSDateFormatterFullStyle   : Specifies a full style with complete details, such as “Tuesday, April 12, 1952 AD” or “3:30:42pm PST”

请注意,这些日期和时间样式的格式并不准确,因为它们取决于区域设置,用户首选项设置和操作系统版本。

课程参考: NSDateFormatter

答案 1 :(得分:0)

您似乎获得了一个NSDate对象,并希望将其分配给需要NSString作为参数的文本字段。
您必须先将日期转换为NSstring,例如使用NSDateFormat