2011-12-30 2 views
8

Может ли он использовать выбранное положение строки в виде разделенного стола в методе prepareForSegue?iOS: Получить позицию строки в секционированном TableView

Это мой код для Segue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 

if ([[segue identifier] isEqualToString:@"CurrentEvent"]) { 

    Tab1_DetailTableViewController *vc = [segue destinationViewController]; 

    // get the selected index 
    NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row]; 

} 
} 

Я посмотрел несколько методов Acces положения непосредственно, но я не нашел. Кажется, я что-то контролировал. Кто-нибудь знает дорогу?

+0

я не уверен я понимаю .. 'selectedIndex' в вашем коде - это позиция строки выбранной строки? –

ответ

23

Чтобы получить выбранный indexpath:

NSIndexPath *selectedRowIndexPath = [self.tableview indexPathForSelectedRow]; 

Для того, чтобы получить выбранную строку

NSUInteger selectedRow = selectedIndexPath.row; 

Чтобы получить выбранную секцию

NSUInteger selectedSection = selectedIndexPath.section; 

Чтобы получить выбранную ячейку:

UITableViewCell *selectedCell = [self.tableview cellForRowAtIndexPath:selectedRowIndexPath]; 
+1

Огромное спасибо –

+1

Почему ничто из этого не работает для меня внутри 'prepareForSegue'? – Segev

+0

Чтобы получить строку в swift, используйте 'self.tableView.indexPathForSelectedRow() ?. row)' – User

0

В быстром 2.2:

Получить тег своей ячейки в cellForRowAtIndexPath делегата:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! taskCell 
     cell.tag = indexPath.row    
     return cell 
    } 

А потом Caputure его в trought отправителем prepareForSegue:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "yourSegue" { 
     let vc = segue.destinationViewController as! destinationControllerClass 
     vc.passedIndex = sender?.tag 
    } 
} 
Смежные вопросы