Ios 将NSCFString转换为日期
我试图在核心数据的日期属性中保存日期 然而,我得到了错误Ios 将NSCFString转换为日期,ios,objective-c,core-data,Ios,Objective C,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:
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
当我尝试使用NSDateFormatter
将字符串转换为NSDate
时,它表示输入是NSDate
而不是字符串
有人能建议我应该怎么做才能正确保存上面的内容吗?对于将来可能遇到这个奇怪问题的人 如我在问题中所述,但一些人在阅读时显然跳过了这一问题,因为IOS不允许我使用NSDateFormatter将参数转换为日期,说参数已经是日期,而不是字符串 同时,当我试图将该值保存到core date中的date属性中时,它拒绝了它,说它是一个_NSCF字符串,而不是日期 换句话说,IOS给出了两条相互冲突的错误消息……当我试图将其视为字符串时,它是一个日期;当我试图将其视为日期时,它是一个字符串
问题是,当我从声明为NSMutable数组的数组中获取值时,生成该值的函数被设置为输出NSArray。这是一个黄色警告,但不是红色错误。当我将函数的输出更改为NSMutableArray时,日期类型的问题就消失了,我可以自由地将其视为字符串。显然,由于它是作为NSArray输出的,因此改变它有一些困难。因此,这是一个罕见但有趣的案例。编辑您的问题,包括“从属性为
NSDate
的对象获取它”的代码,以及将值放入NSManagedObject
属性的代码。还向我们显示这些属性的声明。显然,您正在将一个NSString
分配给需要NSDate
的对象。是的。同意。问题是如何将NSCF字符串转换为日期。使用NSDateFormatter
将字符串格式的日期转换为NSDate
。有数百个这样的例子。问题:当我尝试使用NSDateFormatter从字符串转换为NSDate时,它说输入是NSDate而不是字符串。