NSDateFormatter 不兼容类型错误

Posted

技术标签:

【中文标题】NSDateFormatter 不兼容类型错误【英文标题】:NSDateFormatter Incompatible Type Error 【发布时间】:2011-07-18 12:28:15 【问题描述】:

我在 Xcode 中收到以下错误:

警告:从不同的 Objective-C 类型传递“setUpdate:”的参数 1 时,Objective-C 类型“struct NSDate *”不兼容,预期为“struct NSString *”

当我尝试将格式化的字符串保存到 myObj.update 时发生错误

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
//myObj is an object with instance variable 'update' as a NSString string
myObj.update = [formatter dateFromString:@"2011-03-17T18:15:05Z"];
[formatter release];

我知道我做错了一些轻微但无法确定的错误。谢谢您的帮助! :)

【问题讨论】:

【参考方案1】:

dateFromString: 返回NSDate 的实例,而不是字符串。您需要将update 属性设为NSDate。编译器基本上是在告诉您该方法正在返回一个日期,但您正试图将其分配给一个字符串属性,这并不健康!

【讨论】:

哈哈,讽刺的是,我自己看到了错误,并在 Xcode 中修复了 NSDate...回到 SO 并查看您的回复。谢谢杰森 :) 周末愉快。

以上是关于NSDateFormatter 不兼容类型错误的主要内容,如果未能解决你的问题,请参考以下文章