2011-12-30 16 views
8

Seçili satır konumunu prepareForSegue yönteminde bölümlenmiş tablo görünümünde etkinleştirebilir mi?iOS: Sıralanmış bir TableView içinde satır konumu alın

Bu Segue benim kodudur: Ben doğrudan pozisyonunu acces çeşitli yöntemler baktı

- (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]; 

} 
} 

, ama bulamadım. Sanırım bir şeye baktım. Bir yolu bilen var mı?

:

NSIndexPath *selectedRowIndexPath = [self.tableview indexPathForSelectedRow]; 

seçilen hücre elde etmek için seçilen bölüm

NSUInteger selectedSection = selectedIndexPath.section; 

elde etmek için seçilen satır

NSUInteger selectedRow = selectedIndexPath.row; 

almak için:

+0

emin değilim Anladım .. 'selectedIndex' kodunuzda seçilen satırın satır pozisyonu nedir? –

cevap

23

seçilen indexPath elde etmek için
UITableViewCell *selectedCell = [self.tableview cellForRowAtIndexPath:selectedRowIndexPath]; 
hızlı 2.2 olarak
+1

Çok teşekkür ederim –

+1

Neden bunlar "readyForSegue" içinde çalışmıyor? – Segev

+0

Satırı hızlıca almak için 'self.tableView.indexPathForSelectedRow() ?. satırını kullanın)' – User

0

:

cellForRowAtIndexPath temsilci içine hücrenin etiketi alın: prepareForSegue trought gönderene içine bunun caputure sonra

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

Ve:

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