Не откладывай на огромный вопрос ... (в основном это код).
Хорошо, у меня есть контроллер навигации, который содержит контроллер представления (называемый AddClaim), содержащий tableView.
если выбрана ячейка, это называется:
EditClaimDetails *detailViewController = [[[EditClaimDetails alloc] init] autorelease];
// Pass the selected object to the new view controller.
detailViewController.selectedIndexPath = indexPath;
detailViewController.newClaimArrayDetails2 = newClaimArrayDetails;
[self.navigationController pushViewController:detailViewController animated:YES ];
Это прекрасно работает, и показан новый контроллер представления, содержащий tableView (Это эксклюзивный список).
В ViewDidLoad окна EditClaimDetails этот код существует: (demandTypeHoldingArray - изменяемый массив, объявленный в файле заголовка)
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(pressedBack)];
self.navigationItem.leftBarButtonItem = backButton;
claimTypeHoldingArray = [[NSMutableArray alloc] initWithArray:newClaimArrayDetails2];
В основном результат такой, как и ожидалось: кнопка «Назад» отображается - при нажатии - она вызывает селектор, переводящий контроллер представления в AddClaim, в requestTypeHoldingArray содержится newClaimsArray, указанный в AddClaim.
Это часть кода в didSelectRowAtIndexPath: (ApplicTypeArray - массив, содержащий текстовые метки ячеек)
[claimTypeHoldingArray replaceObjectAtIndex:0 withObject:[claimTypeArray objectAtIndex:indexPath.row]];
Что это делает, так это то, что первый объект demandTypeHoldingArray заменяется тем, что было в TextLabel ячейки. Все идет нормально. (протестировано с помощью nslog)
Это код для нажатия кнопки возврата:
-(IBAction)pressedBack {
AddClaim *sender = [[[AddClaim alloc] init] autorelease];
sender.newClaimArrayDetails = claimTypeHoldingArray;
[self.navigationController popViewControllerAnimated:YES];
Вот тут и начинается проблема ...
Это действие (по моему мнению) должно заменить newClaimArrayDetails на demandTypeHoldingArray. (это так) Но , когда контроллер представления отключен, и экран возвращается, чтобы добавить утверждение, что этот массив не изменился!
Что я сделал не так?! Кстати, все свойства установлены.
это тест, который я делаю в viewDidAppear:
NSLog(@"%@",[newClaimArrayDetails objectAtIndex:0]);