2014-02-15 3 views
0

Я пытаюсь получить доступ к indexPath моего tableView из метода, который не объявляет NSIndexPath.Доступ к NSIndexPath из метода

Это то, что я пытаюсь сделать:

- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index { 
    switch (index) { 
     case 0: 
     { 

      NSIndexPath *tempIndexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 

      DetailScheduleViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"]; 

      svc.title = [[news objectAtIndex:tempIndexPath.row]objectForKey:@"Series"]; 

      svc.newsArticle = [news objectAtIndex:tempIndexPath.row]; 

      [self.navigationController pushViewController:svc animated:YES]; 

      [cell hideUtilityButtonsAnimated:YES]; 
      break; 
     } 

     default: 
      break; 
    } 
} 

Конечно, проблема здесь заключается в следующем:

 NSIndexPath *tempIndexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 

indexPathForRow является 0, и он будет возвращать только первый элемент ячейки. Это не то, что я хочу. Я хочу иметь возможность вернуть весь список в indexPath. Как я могу это сделать?

  • Дайте мне знать, если вам больше нужно разъяснений. Благодаря!
+2

Вы только когда-либо использовать '' row' из tempIndexPath', так почему бы вам нужен путь индекса? И что вы имеете в виду «весь список в indexPath»? – Wain

+0

Откуда появляется индекс? Это не то же самое, что строка? –

+0

jaydee3 ответ на мой вопрос. Лучший способ - сохранить indexPath. :) –

ответ

0

Вы должны спросить Tableview для indexPath как это:

- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index 
{ 
    NSIndexPath *indexPath = [self.tableView indexPathForCell:cell]; 
} 
+0

Спасибо jaydee3! Идеальное решение. Искали это довольно много. :) –

+2

Это не самое простое решение, и хотя оно работает, это, безусловно, плохая практика. См. Комментарий Эрла Грея по этому вопросу. – nhgrif

+0

@nhgrif, вы правы. Я отредактировал свой ответ. – calimarkus

Смежные вопросы