Возможно FAQ на этом сайте.
У меня есть TableViewController, который содержит форму. В этой форме у меня есть два поля (каждое в отдельной ячейке): одно для выбора тех, кто заплатил (один выбор), а другое для выбора расходов на людей (множественный выбор).
Оба поля открывают новый TableViewController, включенный в UINavigationController.
Одиночное поле выбора (Оплачено) содержит объект Членство
Поле множественного выбора (оплачено) содержит объект NSMutableArray
Обе переменные отправляются на новый контроллер одинаковым образом:
mySingleSelectController.crSelectedMember = self.crPaidByMember;
myMultipleSelectController.crSelectedMembers = self.crSelectedMembers;
Из Платного для контроллера я использую метод didSelectAtIndexPath, чтобы установить изменяемый массив Членств, за которые выплачивается:
if ([[tableView cellForRowAtIndexPath:indexPath] accessoryType] == UITableViewCellAccessoryCheckmark) {
[self.crSelectedMembers removeObject:[self.crGroupMembers objectAtIndex:indexPath.row]];
//...
}
else {
[self.crSelectedMembers addObject:[self.crGroupMembers objectAtIndex:indexPath.row]];
//...
}
Пока все идет хорошо. Изменяемый массив (crSelectedMembers) идеально устанавливается из дочернего представления.
Но...
У меня проблемы с настройкой объекта Членство.
Из оплаченного контроллера Я использую didSelectAtIndexPath, чтобы установить членство:
[self setCrSelectedMember:[crGroupMembers objectAtIndex:indexPath.row]];
Путем NSlogging crSelectedMember я получаю правильный выбранный элемент в себе, но в родительском представлении, на которое указывает ivar, ничего не меняется.
Я что-то не так делаю? Потому что я могу вызвать метод crSelectedMembers, но не могу изменить значение crSelectedMember.