将核心数据实体属性从ViewController A传递给B.

我有一个核心数据的小问题。 我会跳过代码,因为它工作正常。 我只需要知道在prepareForSeague方法里面做什么。

应用程序有2个视图 – ViewControllerA和TableViewControllerB。 在TableViewControllerB我已经设置了表格视图与自定义单元格的细胞标识符:customCell。 我按下buttonADD,它显示2行警报视图。 警报视图将2个属性添加到实体,这些属性显示在表格单元格中。 实体称为SOMEentity,而属性是名称(NSString)和值(也是NSString)。

视图控制器A有两个textFields:TextFieldA和TextFieldB,一个button计算和标签叫calculateLabel。 计算button只是从textFields添加值。

现在我想这样做 – 单击单元格将显示TextFieldA中的属性值。

我需要做些什么

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender; { if ([[segue identifier] isEqualToString:@"FromViewBToViewA"]) { } } 

另外,我必须在ViewControllerA中的viewDidLoad方法内写入东西吗? 所有的string和标签都是非primefaces的,强大的属性。

谢谢!

 -(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"; } } 

抓住目的地控制器投射它并传入期望的值。 然后在你的目标控制器。 确保在ViewControllerA的标题中包含property1和property2作为属性

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

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

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

在第二个viewController上创build一个属性,这个属性是你想要传递的对象。 然后在prepareForSegue:sender:方法中设置destinationViewController(即要设置对象的那个)上的属性。 记得把它转换成你自己的子类。 由于您在prepareForSegue:sender:方法中不知道哪个单元格是被点击的单元格,您需要在属性或ivar中存储对所选对象的引用。 您可以使用NSIndexPath在“tableView:didSelectRowAtIndexPath:”方法中获取该对象。

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