2017-01-10 15 views
0

tableviewcontrollerからviewcontrollerにデータを戻すときに小さな問題が発生する。私は各ボタンをクリックすると(頭痛、発熱、咳、寒さ)のような静的なデータと同じテーブルビューに移動するviewcontrollerの3つのボタンと3つのテキストフィールドがあります。問題はここで私がtableviewの行を選択するとviewcontroller.Butのすべてのtextfiledsにデータが割り当てられます。選択時にbutton1がクリックされたときに欲しい発熱それはtextfiled1にのみ割り当てられ、button2は選択時にクリックされます咳はで、2番目のテキストファイルのみに割り当てます。以下は私のコードです。viewcontrollerにデータを渡す際の問題

In **AppDelegate.h** 

@property (strong, nonatomic) NSString *selectedText; 


In **ViewController.m** 

-(void)viewWillAppear:(BOOL)animated 
{ 
    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; 

    txtField1.text = appDelegate.selectedText; 
    txtField2.text = appDelegate.selectedText; 
    txtField3.text = appDelegate.selectedText; 

} 


**FamilyDetailsViewController.m** 

pragma mark - Table view delegate 

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

     NSString *selected= [arr objectAtIndex:indexPath.row]; 

     AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; 

     appDelegate.selectedText = selected; 

     [self.navigationController popViewControllerAnimated:YES]; 
} 
+0

これは、selectedTextを3つのテキストフィールドに割り当てることを明確に示しています。テキストを割り当てる条件はありません – Joshua

答えて

2

ビューコントローラ全体でアクセス可能でなければならない最初のビューコントローラのint変数を持つ。 ボタン1を押すと、int変数の値を1に設定します。他のボタンの場合は2 &に変更してください。 今、そのint変数に応じてmake条件を割り当てる時。

if(variable == 1){ 
txtField1.text = appDelegate.selectedText; 
} 
else if(variable == 2){ 
txtField2.text = appDelegate.selectedText; 
} 
else if(variable == 3){ 
txtField3.text = appDelegate.selectedText; 
} 
+0

ありがとうございます。これはうまく働いた – Abhimanyu

関連する問題