代码之家  ›  专栏  ›  技术社区  ›  Ellie P.

核心数据应用程序中的多个视图和源列表

  •  1
  • Ellie P.  · 技术社区  · 17 年前

    该应用程序基于文档并使用核心数据。其中一个实体是抽象实体, Page. Page 是几种页面类型的父级:即 PageWithHeaderAndFooter, PageWithTwoColumns, BasicPage 等 Page PageWithHeaderAndFooter 有三个:页眉、页脚、正文。 BasicPage 有一个:身体。除此之外,所有

    其他相关实体为: Style ,它定义了图形的视觉外观 . (想想 页 风格 作为CSS。)

    this was a great help

    然而,在数小时的头痛和徒劳的谷歌搜索之后,以下是我无法理解的:

    源列表中列出的页面和样式,当您选择其中一个时,该对象的所有相关字段都会显示在右侧(主要是NSTextView、弹出菜单等)。

    我在Interface Builder中进行了布局和所有绑定。

    问题是,如果我的源列表包含不同类型的页面,如何根据所选页面的类型在右侧显示不同的视图?例如,如果 基本页 如果选中,我只需要上面看到的内容:general page stuff和一个对应于one字段的NSTextView body 属于 基本页 . 但是如果我选择一个 页眉和页脚 ,我想显示常规页面内容加上三个NSTextView(一个用于页眉、正文和页脚) 风格 选中后,我想显示各种弹出菜单、颜色井等。

    至少对于页面而言,我们只讨论一个或多个NSTextViews,每个NSTEXTVIEW对应于相应实体的字符串属性。

    谢谢你的帮助!

    1 回复  |  直到 17 年前
        1
  •  1
  •   michael    16 年前

    我有一个项目清单,这是三种类型之一,但都非常相似。

    我设定了 Entity 推入视图控制器之前,请先将其插入视图控制器,然后再将其插入 viewDidLoad 我要检查的是什么类型的推送 entity 通过指定要加载的不同NIB,我可以以不同的方式创建和布局信息。

    if([[entity entityType] isEqualToString:@"TypeA"]) {
        [[NSBundle mainBundle] loadNibNamed:@"TypeAView" owner:self options:nil];
    } else if(...) { .....