2016-04-25 13 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); 

} 

でも、値がNULLになっています。特定の行のテキストビューの値を取得するにはどうすればよいですか?

+4

'MyOrdersController * detailVC = [[MyOrdersController alloc] init];':あなたは全く新しい 'MyOrdersController'オブジェクトを作成しています。前に使ったものではなく、 'shipmentReferenceNumberTextLabel'に何らかのテキストを置いているかもしれません。 – Larme

+0

ありがとうございます...どうすればこれを整理することができますか? – user1241241

+0

'MyOrdersController'はあなたの階層のwhat/whereであるはずですか? – 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; 
} 
関連する問題