2016-04-25 18 views
0

當按下表格視圖時,我試圖從該表格視圖行中獲取文本視圖的值,如下所示。如何從didSelectRowAtIndexPath上的UITableView獲取textview的值?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    tabBar = [self.storyboard instantiateViewControllerWithIdentifier:@"TabBarController"]; 
    [self.navigationController pushViewController:tabBar animated:YES]; 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 

    MyOrdersController *detailVC = [[MyOrdersController alloc]init]; 
    NSLog(@"hello %@", detailVC.shipmentReferenceNumberTextLabel.text); 

} 

但即時獲得空值。我怎樣才能得到該特定行中的textview的值?

+4

'MyOrdersController * detailVC = [[MyOrdersController alloc] init];':您正在創建一個全新的'MyOrdersController'對象。不是您之前在'shipmentReferenceNumberTextLabel'中放置了一些文本的地方。 – Larme

+0

謝謝...我怎麼能解決這個問題? – user1241241

+0

'MyOrdersController'應該是你的層次中的什麼/哪裏? – Larme

回答

2

你可以抓住從選擇的細胞子視圖TextView的。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath 
{ 

UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath]; 

    for (id txtView in selectedCell.subviews) 
    { 
     if ([txtView isKindOfClass:[UITextView class]]) 
     { 
      UITextView* tv = (UITextView*)txtView; 
      NSString* text = tv.text; 
     } 
    } 
} 
2

試試看: -

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath]; 
    NSString *cellText = selectedCell.textLabel.text; 
} 
相關問題