我有一个NSDictionary,有两个像这样的数组
questionAndAnswer= [NSDictionary dictionaryWithObject:answerList forKey:questionList];
特定问题(键)有两个answerList对象。那部分没问题(字典填写正确)
我想在一个名为chckList的新数组中插入关于所选问题的答案。我试过这个
NSString *selectedQuestion=[questionList objectAtIndex:indexPath.row];
[self.checkList insertObject:[questionAndAnswer objectForKey:selectedQuestion] atIndex:0];
但它引发了异常,我的代码出了什么问题?
答案 0 :(得分:2)
你应该这样做(注意方法名称中的复数形式):
questionAndAnswer= [NSDictionary dictionaryWithObjects:answerList forKeys:questionList];
您发布的内容使用一个数组作为另一个数组的键。以上使用一个数组中的项作为另一个数组的键。差异很大。
但是你得到的错误信息“听起来”非常像未初始化或已经解除分配和“重复使用”的变量。所以:
questionAndAnswer
是否与您创建的dictionaryWithObjects:forKeys:
相同; @property (retain)
便捷方法返回一个自动释放的对象,您应该在自动释放池释放它之前保留它。使用@synthesize
和{{1}}来存储它。