In short after getting arrays from NSUserDefaults I'm getting Mutating method sent to immutable object error when I'm trying to change NSMutableArray value;
generalDone[self.todoTableView.selectedRow] = 1
When saving to NSUserDefaults I'm adding all NSMutableArrays to one NSMutableArray. Like;
var saveArray:NSMutableArray = NSMutableArray()
saveArray.removeAllObjects()
saveArray.add(generalTodos)
..
..
..
saveArray.add(generalDone)
UserDefaults.standard.set(saveArray, forKey: "test3")
But when I'm getting arrays from NSUserDefault I'm sure it is a mutableCopy().
if UserDefaults.standard.value(forKey: "test3") != nil {
saveArray = UserDefaults.standard.mutableArrayValue(forKey: "test3").mutableCopy() as! NSMutableArray
generalTodos = saveArray[0] as! NSMutableArray
generalDone = saveArray[1] as! NSMutableArray
}
Still getting same error. Maybe silly idea but I'm thinking arrays in saveArrays still not mutable. But don't know how to manage them. What's your ideas?
Trying to learn swift. Please be polite. -_-
saveArraysbut that doesn't make the arrays inside it mutable. - mattgeneralTodosas its own array with its own key. - matt