【问题标题】:convert string to date and write back into NSMutableArray将字符串转换为日期并写回 NSMutableArray
【发布时间】:2010-04-29 10:12:10
【问题描述】:

我有一个通过将 plist 加载到其中的 NSMutableArray。日期字段以字符串形式出现,我想将其更改为 nsdate。我可以将 nsstring 更改为 nsdate。

我的数组是一个对象数组,如下所示;

{
日期 =“2009 年 1 月 1 日”
描述 = “你有没有看过獾,我想知道你能用大炮把它发射多远?好吧,这个话题是给你的”;
文件 = "http://www.badgerCannon.org.uk/mp3/070310pm.mp3";
系列 = “獾星球”;
演讲者 =“威尔·费雷尔”;
Title = "是鸟,是飞机吗?不是獾";
}

我循环并提取日期并将其从 NSString 转换为 NSDate。

我尝试用代码写回去;

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

但它会出错,我很确定这是因为我没有以相同的格式将它放回数组中,即只是作为日期而不是日期 =“日期”。但让我们面对它,我真的不知道!

我是不是找错树了?请帮忙,我有相当于作家块的编码,或者我真的很愚蠢!提前谢谢

【问题讨论】:

  • 你说你得到一个错误,但你没有说它是什么。
  • 是的,你找错树了。数组不关心它包含的对象的类型。您收到什么错误消息?
  • 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”

标签: iphone nsmutablearray nsdate


【解决方案1】:

错误信息说明了一切:[self.MediaDataArray objectAtIndex:i] 返回一个NSDictionary,这显然不理解replaceObjectAtIndex:withObject: 信息。你混淆了字典和数组。

首先,确保您处理的字典是NSMutableDictionary。然后,将代码更改为:

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

【讨论】:

  • 是的,这很神奇,谢谢伙伴,我将它创建为 NSMutableArray,但使用 NSMutableDictionary 加载它。但这行得通,所以进来吧!
猜你喜欢
  • 2011-02-02
  • 1970-01-01
  • 2021-09-19
  • 1970-01-01
  • 2012-06-03
  • 2012-03-17
  • 2015-04-27
  • 1970-01-01
  • 2013-10-29
相关资源
最近更新 更多