2013-01-11 47 views
0

我已經被這個問題困擾了很久。追加的NSString從字典對象轉換成的NSMutableArray

我有一個NSString是從RSS解析器接收到的,我可以成功NSlog它在屏幕上,但是當我嘗試將它附加到現有的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長度]:無法識別的選擇發送到實例0 * 7141a00 終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:「 - [__ NSDate的長度]:..........

有人能幫助我嗎?

回答

0

你打電話-appendString:myDate,這不是一個字符串。這是一個NSDate。您無法將其傳遞給需要字符串的API。您需要以某種方式將其轉換爲字符串。這可能是最好的使用NSDateFormatter,它可以讓您完全控制如何將日期格式化爲字符串。

出於測試目的雖然,你可以只是[myString appendString:[myDate description]]更換你的最後一行,它應該停止崩潰。

+0

的確!只是因爲在初始化myDate時沒有異常,因爲NSString讓我誤以爲dic對象日期是一個NSString,而實際上它是一個NSDate。更改爲NSDate * myDate = [dic objectForKey:@「date」],並使用格式化程序的stringFromDate,然後我可以成功附加它。不要忘記爲你的格式化程序設置Dateformat,否則它將無法工作。 – Rookie

相關問題