У меня вопрос: у меня есть NSMutableArray, который я передаю в нескольких представлениях.В одном из представлений значение объекта в этом массиве (NSMutableDictionary) может быть отредактировано.Я делаю это, используя код:
NSMutableDictionary *tester = [[NSMutableDictionary alloc] initWithDictionary:selectedItem copyItems:YES];
NSMutableString *newLoc = [[NSMutableString alloc] initWithString:locationField.text];
[tester setValue:newLoc forKey:@"Location"];
[selectedList replaceObjectAtIndex:[selectedList indexOfObject:selectedItem] withObject:tester];
Проблема, с которой я столкнулся, заключается в замене этого объекта в selectedList.Выдает ошибку *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI replaceObjectAtIndex:withObject:]: unrecognized selector sent to instance 0xa631e30'
. Это работает, если я копирую новый элемент в массив-копию selectedList и снова выделяю selectedList с новым значением, но у других представлений возникают проблемы с нахождением этого же списка снова в массиве (новое выделениеместо нахождения).
TL; версия DR: как я могу отредактировать значение (путем замены?) Внутри NSMutableArray?Почему не работает replaceObjectAtIndex?
РЕДАКТИРОВАТЬ: Это было действительно неизменным.Тем не менее, главный вопрос остается: у меня есть:
NSMutableDictionary *tester = [[NSMutableDictionary alloc] initWithDictionary:geselecteerdItem copyItems:YES];
[geselecteerdItem setValue:nieuweLoc forKey:@"Location"];
[geselecteerdeLijst replaceObjectAtIndex:[geselecteerdeLijst indexOfObject:tester] withObject:geselecteerdItem];
Когда я использую: [warningList replaceObjectAtIndex:[warningList indexOfObject:geselecteerdeLijst] withObject:keuzeLijst]
, это дает мне ошибку outofbounds, потому что индекс массива geselecteerdeLijst явно изменился внутри warningList.Есть идеи?