У меня есть TableView, где у меня есть строки, название которых содержит имя свойства.didSelectRowAtIndex не обновляется должным образом
Свойства определены в другом TableView, где я могу нажать «Добавить», чтобы добавить вновь созданный объект в первый TableView.
Если я сейчас хочу отредактировать, скажем, второй объект в списке, я должен нажать его (переход на второй TableView), нажмите «Отмена» и нажмите его еще раз, чтобы получить правильное имя.
Что-то с didSelectRowAtIndex
, похоже, не работает правильно, но я не могу понять, что это такое.
Вот мой метод:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
self.indexPathInt = (int)indexPath.row;
}
и:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:kSegueIdentifier]){
AddEntry *controller = [[[segue destinationViewController] viewControllers] objectAtIndex:0];
controller.delegate = self;
}
if ([[segue identifier] isEqualToString:kEditSegueIdentifier]) {
edited = YES;
AddEntry *controller = [[[segue destinationViewController] viewControllers] objectAtIndex:0];
EntryObject *entry = self.entryObjectArray[self.indexPathInt];
controller.name = entry.name;
controller.someProperty = entry.soneProperty;
controller.delegate = self;
}
}
Если я вхожу в indexPathInt
в методе PrepareforSegue
это не то же самое, как indexPath.row
в методе DidSelectRowAtIndex
, но один я нажал до.
Таким образом, indexPathInt
не обновляется во времени.
Есть ли другой способ доступа к выбранной строке любым способом без отправки ее переменной?
Метод 'UITableView'' indexPathForSelectedRow' предоставит вам 'NSIndexPath' для текущей выбранной строки. – bobnoble