如何将相同的xib文件绑定到不同的核心数据实体

时间:2012-03-30 07:44:32

标签: objective-c cocoa xib

我的核心数据中有4个实体,具有相同的父实体。他们几乎拥有相同的财产。

对于这4个实体中的3个,我需要使用相同的xib fie(一个面板来修改实体属性)。剩下的就是使用另一个小组。如果用户选择更多实体,则使用相同的NSTextField修改所有选定实体中的相应属性。

如何将xib文件中的对象绑定到不同的实体,我应该将它们绑定到父实体吗? (在父母中我虽然没有所有属性)。

我在xib文件中有很多文本字段,以编程方式绑定它们会有很多工作。界面构建器中的绑定更容易。

感谢

1 个答案:

答案 0 :(得分:0)

假设您在IB(NSArrayControllerNSObjectController)中使用某种控制器来管理您的实体,您可以在视图控制器中为该控制器创建一个插座。

然后在awakeFromNib方法中你可以做到:

switch (myChoosenEntity) {
  case 1:
    [[self myEntityController] setEntityName: @"MyFirstEntity"];
    break;
  case 2:
    [[self myEntityController] setEntityName: @"MySecondEntity"];
    break;
  default:
    break
}

然后,实体控制器将设置为使用您选择的实体。这种方法仍然允许您在IB中进行绑定。唯一的缺点可能是IB无法向您显示可能的绑定属性,因为实际实体仅在运行时确定。