【问题标题】:Issue in passing data back to viewcontroller将数据传回视图控制器的问题
【发布时间】:2017-01-10 08:20:37
【问题描述】:

尝试将数据从 tableviewcontroller 传回 viewcontroller 时的一个小问题。我在视图控制器中有 3 个按钮和 3 个文本字段,当单击每个按钮时,将导航到具有静态数据(如头痛、发烧、咳嗽、感冒)的同一个表格视图。当我在表格视图中选择一行时,问题就来了当我选择 Cough 时单击它应该只分配给第二个文本文件。下面是我的代码。

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

【问题讨论】:

  • 它清楚地表明您正在将 selectedText 分配给 3 文本字段。没有您分配文本的条件

标签: ios objective-c iphone xcode uitableview


【解决方案1】:

在第一个视图控制器中有一个 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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2018-03-27
    • 2017-03-14
    相关资源
    最近更新 更多