我长期以来一直为这个问题烦恼。
我有一个NSString,它是从RSS解析器接收的,我可以在屏幕上成功地将其记录,但是当我尝试将它附加到现有的NSmutablearray时,它会导致异常。
这是我的代码。
//mystring is a NSMutableString with some content initialized succesfully
NSString *myDate = [dic objectForKey:@"date"];
NSLog(@"%@ and %@",myString,myDate);
[myString appendString:myDate];
直到NSLog,myDate和myString都按照我的意愿正确打印在屏幕上,但是appendString行会导致错误
[ _NSDate length]:无法识别的选择器发送到实例0 * 7141a00 因未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSDate length]:..........
有人可以帮助我吗?
答案 0 :(得分:0)
您正在使用-appendString:
来呼叫myDate
,这不是字符串。这是一个NSDate
。您无法将其传递给需要字符串的API。你需要以某种方式将它转换为字符串。这可能最好使用NSDateFormatter
来完成,这使您可以完全控制如何将日期格式化为字符串。
出于测试目的,您只需将最后一行替换为[myString appendString:[myDate description]]
即可停止崩溃。