将数据传递回viewcontroller时出现问题

时间:2017-01-10 08:20:38

标签: ios objective-c iphone xcode uitableview

尝试将数据从tableviewcontroller传递回viewcontroller时的一个小问题。我在viewcontroller中有3个按钮和3个文本字段,当单击每个按钮时,将导航到具有静态数据的相同tableview,如(Headache,Fever,Cough,Cold)。问题出现在这里当我在tableview中选择一行时,数据被分配给viewcontroller中的所有文本文件。但是当我选择发烧时,我想要点击button1它应该只分配给textfiled1而button2是当我选择咳嗽时点击它应该只分配给第2个textfiled。以下是我的代码。

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

1 个答案:

答案 0 :(得分:2)

在第一个视图控制器中有一个int变量,它应该可以在整个视图控制器中访问。 一旦你按下button1然后将int变量的值设置为1.将其更改为2& 3用于其他按钮。 现在,在根据该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;
}