Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将NSCFString转换为日期_Ios_Objective C_Core Data - Fatal编程技术网

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而不是字符串。