【问题标题】:How to bind the same xib file to different core data entities如何将同一个xib文件绑定到不同的核心数据实体
【发布时间】:2012-03-30 07:44:32
【问题描述】:

我的核心数据中有 4 个实体具有相同的父实体。它们几乎具有相同的属性。

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

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

我在 xib 文件中有很多文本字段,以编程方式绑定它们将是很多工作。在界面生成器中绑定要容易得多。

谢谢

【问题讨论】:

    标签: objective-c cocoa xib


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多