2011-12-30 38 views
8

是否可以在prepareForSegue方法中的分段表格視圖中訪問選定的行位置?iOS:在分段表格中獲取行位置查看

這是我對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]; 

} 
} 

我擡頭幾種方法來直接存取權限的位置,但我沒有找到一個。我想我已經監督了一些事情。有人知道一種方式嗎?

+0

我不知道我明白了..代碼中的'selectedIndex'是所選行的行位置? – 2011-12-30 23:14:30

回答

23

獲取所選indexpath:

NSIndexPath *selectedRowIndexPath = [self.tableview indexPathForSelectedRow]; 

要獲得所選行

NSUInteger selectedRow = selectedIndexPath.row; 

獲取所選部分

NSUInteger selectedSection = selectedIndexPath.section; 

獲取所選單元格:

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

非常感謝你 – 2011-12-31 09:39:40

+1

爲什麼這些在'prepareForSegue'裏面都不適合我? – Segev 2012-12-19 14:39:20

+0

要在swift中獲得行,請使用'self.tableView.indexPathForSelectedRow()?. row)' – User 2014-09-26 18:06:38

0

在SWIFT 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入prepareForSegue trought發件人:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "yourSegue" { 
     let vc = segue.destinationViewController as! destinationControllerClass 
     vc.passedIndex = sender?.tag 
    } 
}