我的应用程序了崩溃,并在标题中提到的例外。请在下面找到我的解释:错误:replaceObjectAtIndex:withObject:]:突变方法发送到不可变对象
试图在我的TableViewController使用NSUserDefaults的数组的值存储为下:
func didDismissContentViewController(controller:ContentViewController,pageIndex:Int) { //You're passed in the contentViewController here, use relevant data to update your model. NSLog("Inside delegate method ..\n") var currentIdx = pageIndex
NSLog("Value of index edited \(pageIndex)")
NSLog("Current edited value is : \(controller.myTextView.text)")
**pageContent.replaceObjectAtIndex(pageIndex, withObject: controller.myTextView.text)**
**//pageCotent is defined as an NSMutableArray only...**
NSUserDefaults.standardUserDefaults().setObject(pageContent as NSMutableArray, forKey: "PageValues")
NSUserDefaults.standardUserDefaults().synchronize()
}
Retrieval is done as under : if var storedPageContent = NSUserDefaults.standardUserDefaults().objectForKey("PageValues") as? NSMutableArray{ pageContent = storedPageContent
虽然我能够存储,检索和在各自的页面中显示更新后的页面值,随后过渡来回之间的tableviewcontroller和内容视图控制器抛出下面的错误:
015-12-21 00:51:46.592 PageApp[3943:203948] * Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object' * First throw call stack:
我试过店里注释掉到NSUserDefault,并且应用程序了不死机,而使用NSU serDefault存储值,导致这种情况发生,所以当我将它存储在NSUserDefaults中时出现错误,然后检索它并将其分配给数组。
任何帮助,这个可以理解。 Exchange data between uitah