Когда вы присваиваете array
для tempArray
, вы не делаете его изменяемым только потому, что его разыгрываете.
Это NSArray
, поэтому вы не можете добавлять / удалять его объекты.
Кроме того, есть несколько ненужных инициализаций (tempArray и dictToBeChanged), поскольку вы перезаписываете эти переменные чем-то другим сразу после инициализации (таким образом, создавая утечки).
Что вам нужно, вероятно, что-то вроде этого:
NSMutableArray *array = [NSMutableArray arrayWithContentsOfFile:plistPath];
NSMutableDictionary *dictToBeChanged = [[[array objectAtIndex:indexPath.row] mutableCopy] autorelease];
[dictToBeChanged setObject:[NSNumber numberWithBool:YES] forKey:@"isPaid"];
[array replaceObjectAtIndex:indexPath.row withObject:dictToBeChanged];
Обратите внимание, что этот код не выполняет никаких проверок содержимого вашего списка.