0
У меня есть табличный вид с уроками и вы хотите передать имя урока в подробном диспетчере представлений. Но он всегда проходит первый ряд.prepareForSegue не пропускает соответствующую строку в таблицеView
У меня есть табличный вид с уроками и вы хотите передать имя урока в подробном диспетчере представлений. Но он всегда проходит первый ряд.prepareForSegue не пропускает соответствующую строку в таблицеView
Вы должны передать indexPath в качестве отправителя в performSegue. Имеет ваш код:
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewRowAction *edit = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"edit" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
[self performSegueWithIdentifier:@"editLesson" sender:indexPath];
}];
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"editLesson"]) {
NSIndexPath* indexPath = (NSIndexPath*)sender;
NSManagedObject *selectedLesson = [self.lessons objectAtIndex:indexPath.row];
EditLessonViewController *destViewController = segue.destinationViewController;
destViewController.lesson = selectedLesson;
}
}
Я как раз собирался использовать iVars, но это опрятно. Вы не можете полагаться на table.indexPathForSelectedRow, чтобы получать строки, которые редактируются. –
Это помогло, спасибо большое! – ermolushka