NSInternalInconsistencyException',原因:' - [__ NSCFDictionary setObject:forKey:]:发送到不可变对象的mutating方法

时间:2016-12-07 06:10:59

标签: objective-c nsmutabledictionary

我正在执行以下代码,在从我的结尾向词典添加数据后,将字典从一个viewcontroller发送到另一个。

(defn run-all-tests []
  (do-test-1)
  ...
  (do-test-N))

(deftest ^:slow mytest
  (do-setup)
  (run-all-tests)
  (do-teardown))

但它显示了上述异常。它是什么意思以及如何修复它?

1 个答案:

答案 0 :(得分:0)

此错误表示您正在尝试更改不可变的字典。您将selectedDic初始化为NSMutableDictionary,这是好的,但您将其重新分配为[dataArray objectAtIndex:index.row]。您没有发布足够的信息以便我能够确定dataArray中的内容,但假设dataArray是NSDictionaries的数组,您可以通过将该行更改为[[dataArray objectAtIndex:index.row] mutableCopy]来实现此功能。如果dataArray不是字典数组,那么您可能需要重新考虑您要执行的操作。