从核心数据中提取 NSDate 并在 IOS 中显示它
Posted
技术标签:
【中文标题】从核心数据中提取 NSDate 并在 IOS 中显示它【英文标题】:Pulling NSDate from Core Data and displaying it IOS 【发布时间】:2012-12-01 03:57:09 【问题描述】:我正在制作一个 iPhone 应用程序,我在核心数据中有一个 NSDate,我正在尝试显示它,但我不断收到此错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSDate isEqualToString:]:无法识别的选择器已发送到实例 0x81b7840”。
我下面的代码是从字典项中提取数据。我怎样才能让它工作?
self.lblTheDate.text = [self.item valueForKey:@"MyDate"];
【问题讨论】:
【参考方案1】:使用类似于以下内容的方法将 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
【讨论】:
【参考方案2】:您似乎获得了一个 NSDate 对象并希望将其分配给一个需要 NSString 作为参数的文本字段。 您必须首先将日期转换为 NSstring,例如使用 NSDateFormat
【讨论】:
以上是关于从核心数据中提取 NSDate 并在 IOS 中显示它的主要内容,如果未能解决你的问题,请参考以下文章
使用 NSDate 的核心数据排序描述符,使用 Swift 的 iOS
将 NSDate 和 NSNumber 和/或保存在相同的核心数据属性中