2017-01-10 6 views
0

ein kleines Problem beim Versuch, Daten von TableViewcontroller an Viewcontroller übergeben. Ich habe 3 Buttons und 3 Textfelder in ViewController, wenn Sie auf die einzelnen Schaltflächen klicken, um zur gleichen Tabellenansicht mit statischen Daten wie (Kopfschmerz, Fieber, Husten, Erkältung) zu navigieren. Das Problem kommt hier, wenn ich eine Zeile in der Tabellenansicht die Daten zu allen Textdateien in Viewcontroller.Aber ich möchte, wenn Button1 geklickt wird, wenn ich Fever wählen sollte es nur textfiled1 zuweisen und Button2 wird angeklickt, wenn ich auswählen Husten sollte es nur 2st textfiled zuweisen. Unten ist mein Code.Problem beim Zurückgeben von Daten zurück an 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

es eindeutig angeben, dass Sie den ausgewählten Text dem Textfeld 3 zuweisen. Es gibt keine Bedingung, der Sie den Text zuweisen – Joshua

Antwort

2

Haben Sie eine int-Variable in der ersten Ansicht Controller, die in der gesamten Ansicht Controller zugänglich sein sollte. einmal, wenn Sie Taste1 drücken, dann stellen Sie den Wert der Variablen int als 1 ein. Ändern Sie ihn für andere Tasten auf 2 & 3. jetzt, zu der Zeit der Zuweisen make-Bedingung gemäß dieser int-Variable.

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

Danke. das hat gut funktioniert – Abhimanyu

Verwandte Themen