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 不兼容类型错误的主要内容,如果未能解决你的问题,请参考以下文章