Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将核心数据实体属性从ViewController A传递到B_Ios_Uitableview_Core Data_Parameter Passing_Segue - Fatal编程技术网

Ios 将核心数据实体属性从ViewController A传递到B

Ios 将核心数据实体属性从ViewController A传递到B,ios,uitableview,core-data,parameter-passing,segue,Ios,Uitableview,Core Data,Parameter Passing,Segue,我对核心数据有点小问题。 我将跳过代码,因为它工作正常。我只需要知道在里面做什么 制备凝胶法 应用程序有两个视图-ViewControllerA和TableViewControllerB。 在TableViewControllerB中,我已使用单元格标识符为customCell的自定义单元格设置了表视图。 我按下“添加”按钮,它显示两行的警报视图。警报视图向实体添加2个属性,这些属性显示在表格单元格中。 实体被称为SOMEentity,而属性是名称(NSString)和值(也叫NSString)

我对核心数据有点小问题。 我将跳过代码,因为它工作正常。我只需要知道在里面做什么 制备凝胶法

应用程序有两个视图-ViewControllerA和TableViewControllerB。 在TableViewControllerB中,我已使用单元格标识符为customCell的自定义单元格设置了表视图。 我按下“添加”按钮,它显示两行的警报视图。警报视图向实体添加2个属性,这些属性显示在表格单元格中。 实体被称为SOMEentity,而属性是名称(NSString)和值(也叫NSString)

视图控制器A有两个文本字段:TextFieldA和TextFieldB,一个按钮calculate和标签calculateLabel。 “计算”按钮只是从文本字段中添加值

现在我想这样做-点击单元格将在TextFieldA中显示属性值

我在里面要做什么

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
{
if ([[segue identifier] isEqualToString:@"FromViewBToViewA"]) {
}
}
另外,我是否必须在ViewControllerA中的viewDidLoad方法中编写一些内容? 所有字符串和标签都具有非原子的强属性


谢谢

您需要在目标UIViewController中创建一个属性,并在prepareForSegue:sender:方法中设置如下值:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NextViewController *nvc = [segue destinationViewController];
    [nvc setEntity:@"MyEntity"]; //for example
}

在第二个viewController(要将对象传递到的那个)上创建属性。然后在prepareForSegue:sender:方法中,设置destinationViewController(即要设置对象的控制器)上的属性。记住将其转换为您自己的子类。 正如您不知道在prepareForSegue:sender:method中哪个单元格是被点击的单元格一样,您需要在属性或ivar中存储对所选对象的引用。您可以使用nsindepath在方法“tableView:didSelectRowAtIndexPath:”中获取该对象

接下来,在现在具有该属性的viewController的viewWillExample:方法中,使用该属性更新textField

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
{
    if ([[segue identifier] isEqualToString:@"FromViewBToViewA"]) {
        ViewControllerA * dest = (ViewControllerA*)segue.destinationViewController;
        dest.property1 = @"Some property value";
        dest.property2 = @"Some property value";
    }
}
抓取目标控制器并将其转换为预期值。然后在目的地控制器中。确保将property1和property2作为属性包含在ViewControllerA的标题中

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:YES];
    //Set your text view values with your configured properties from the segue.
} 

谢谢如果我在这两个视图控制器之间有导航控制器,并且我想按“后退”按钮传递数据,你能告诉我做同样的事情吗?你可能需要问第二个问题,包括你尝试过的内容,这样更容易看到你想看的用例。你知道这个问题的答案吗?