2010-04-29 74 views
0

我有一個NSMutableArray,通過將plist加載到其中。日期字段以字符串形式出現,我想將其更改爲nsdate。我可以將nsstring更改爲nsdate。我的數組是一個如下所示的對象數組;將字符串轉換爲日期並將其寫回到NSMutableArray

{
日期=「1/1/2009」
說明=「你有沒有看獾,以爲我不知道你能走多遠火是從一門大炮呢?嗯,這講的是對您」;
File =「http://www.badgerCannon.org.uk/mp3/070310pm.mp3」;
Series =「獾星球」;
Speaker =「Will Ferell」;
Title =「它是一隻鳥,是飛機嗎?不是它的獾」;
}

我遍歷並拉出的日期和它從一個的NSString轉換成NSDate的。

我試着用代碼寫回來;

[[self.MediaDataArray objectAtIndex:i] replaceObjectAtIndex:0 withObject:Date];

但它的錯誤,我很確定這是因爲我沒有把它放回數組中相同的格式,即只是作爲日期而不是日期=「日期」。但讓我們面對它,我不知道!

我吠叫錯了樹嗎?請幫忙,我已經得到了相當於編寫代碼塊的編碼,或者我只是非常愚蠢!在此先感謝

+0

你說你得到一個錯誤,但你沒有說它是什麼。 – 2010-04-29 10:30:59

+1

是的,你在吠叫錯誤的樹。數組不關心它包含的對象的類型。你會得到什麼錯誤信息? – 2010-04-29 10:31:26

+0

2010-04-29 10:40:23.058 mediaLibrary [1406:207] *** - [NSCFDictionary replaceObjectAtIndex:withObject:]:無法識別的選擇器發送到實例0x411beb0 2010-04-29 10:40:23.058 mediaLibrary [1406: 207] ***終止應用程序,由於未捕獲的異常'NSInvalidArgumentException',原因:'*** - [NSCFDictionary replaceObjectAtIndex:withObject:]:無法識別的選擇器發送到實例0x411beb0' – padatronic 2010-04-29 10:47:02

回答

0

錯誤消息說這一切:[self.MediaDataArray objectAtIndex:i]返回NSDictionary,顯然不明白replaceObjectAtIndex:withObject:消息。你正在混淆詞典和數組。

首先,確保你正在處理的字典是NSMutableDictionary。然後,將代碼更改爲:

[[self.MediaDataArray objectAtIndex:i] setObject:Date forKey:@"Date"]; 
+0

是啊多數民衆贊成在魔術感謝隊友,我創建它作爲NSMutableArray但加載一個NSMutableDictionary。但是有效,所以進入! – padatronic 2010-04-29 11:14:17