2010-04-29 81 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