Вы говорите, что удостоверились, что все ваши вещи неизменны, но простое объявление указателей *JSONDictionary
, *allResults
и *rowData
изменяемыми не делает их изменяемыми.Изменчивость этих объектов полностью зависит от правой части назначения.
Из полученной ошибки ясно, что словари, которые вы пытаетесь редактировать в didSelectRowAtIndexPath:
, являются неизменяемыми.Кроме того, я не знаком с TouchJSON, но я почти уверен, что allResults
также неизменен.
Чтобы исправить это, вам нужно внести два изменения, в обоих случаях используя удобный метод mutableCopy
, чтобысделать изменчивую копию неизменяемого массива или словаря.Сначала создайте массив, возвращаемый parseKennelData:userID:dogID:terms:
mutable:
NSMutableArray *allResults = [[JSONdictionary valueForKey:@"kennel"] mutableCopy];
А затем, в tableView:didSelectRowAtIndexPath:
, сделайте изменяемую копию словаря перед его изменением:
NSMutableDictionary *rowData = [[self.results objectAtIndex:[indexPath row]] mutableCopy];