我正在尝试在Core-data中的日期属性中保存日期。
但是,我收到了错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unacceptable type of value for attribute: property = "lasttouched"; desired type = NSDate; given type = __NSCFString; value = 2015-10-13 11:08:21.'
当我将有问题的值记录到控制台时,它会给我以下内容:2015-10-13 11:08:21
关于这个的问题是,我从属性为NSDate
的对象中获取它。
当我尝试使用NSDate
从String转换为NSDateFormatter
时,它表示输入是NSDate
而不是字符串。
任何人都可以建议我应该做些什么才能使上述内容正确保存?
答案 0 :(得分:-1)
对于任何可能在将来遇到这个奇怪问题的人......
正如我的问题所述,但有些人在阅读中明显跳过这不是日期格式化问题,因为IOS不允许我使用NSDateFormatter将参数转换为日期,说这个参数已经是日期,而不是串。
在我尝试将值保存到core-date中的日期属性的同时,它拒绝了它说它是_NSCF字符串,而不是日期。
换句话说,IOS提供了两条相互矛盾的错误消息......当我尝试将其视为字符串和字符串时,我试图将其视为日期。
事实证明问题是,当我从声明为NSMutable数组的数组中获取值时,生成它的函数被设置为输出NSArray。这是一个黄色警告但不是红色错误。当我将函数的输出更改为NSMutableArray时,日期的类型问题就消失了,我可以自由地将其视为字符串。显然,由于它是作为NSArray输出的,因此在改变它时存在一些困难。所以这是一个罕见但有趣的案例。