尝试将数据从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];
}
答案 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;
}