如何从NSDictionary向NSMutableArray插入对象

时间:2011-08-29 11:33:50

标签: objective-c ios ios4 iphone-sdk-3.0

我有一个NSDictionary,有两个像这样的数组

questionAndAnswer= [NSDictionary dictionaryWithObject:answerList forKey:questionList];

特定问题(键)有两个answerList对象。那部分没问题(字典填写正确)

我想在一个名为chckList的新数组中插入关于所选问题的答案。我试过这个

NSString *selectedQuestion=[questionList objectAtIndex:indexPath.row];

[self.checkList insertObject:[questionAndAnswer objectForKey:selectedQuestion] atIndex:0];

但它引发了异常,我的代码出了什么问题?

1 个答案:

答案 0 :(得分:2)

你应该这样做(注意方法名称中的复数形式):

questionAndAnswer= [NSDictionary dictionaryWithObjects:answerList forKeys:questionList];

您发布的内容使用一个数组作为另一个数组的键。以上使用一个数组中的项作为另一个数组的键。差异很大。

但是你得到的错误信息“听起来”非常像未初始化或已经解除分配和“重复使用”的变量。所以:

  • 查看您查询的questionAndAnswer是否与您创建的dictionaryWithObjects:forKeys:相同;
  • 看看它是否已经发布或自动发布。 @property (retain)便捷方法返回一个自动释放的对象,您应该在自动释放池释放它之前保留它。使用@synthesize和{{1}}来存储它。