- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我有一个托管上下文、许多相互关联的实体 NSArrayController,以及几个 Windows,每个 Windows 都使用 1 或 2 个 NSArrayController。 Windows 使用核心数据绑定(bind),所有设置均通过 IB 中完成的 cocoa 绑定(bind)进行设置
我现在有 1 个 Nib (xib),里面有所有东西。通常,在使用我的应用程序时,我只会打开其中一个窗口,而不想加载其他所有窗口。因此,按照苹果的建议和常识,我想闯入许多 Nib (理想情况下每个窗口一个)
关于如何加载单独的 nib 文件,我没问题,但是如何将这一切分开并仍然保持它们相互链接?似乎当我创建一个新 Nib 时,我无法在它和另一个 Nib 之间进行连接。出于很多原因,这是有道理的,但是我该如何解决呢?我是否只需切换到以编程方式执行所有绑定(bind),然后在 Nib 加载时设置我的绑定(bind)?也许将我所有的 NSArrayController 放在一个中央 Nib 中并立即加载它们,然后在我访问该功能时加载每个窗口的 Nib 并在此时进行绑定(bind)是有意义的?
最佳答案
将 View Controller (VC)紧密地连接在一起是一个设计错误。对于小型应用程序来说,单向传递一大块数据通常是可以的,但理想情况下您甚至不想这样做。
理想情况下,数据模型并且只有数据模型会记住 View /VC 之间的数据。每个 VC 仅与数据模型及其 View 进行通信。设计目标是封装每个 VC Controller ,使其可以独立工作,无需引用任何其他 View 。
实现这一点的关键是要认识到数据模型是应用程序的实际核心。这就是应用程序的关键逻辑所在。设计良好的数据模型应该与 UI 无关,并且能够支持任何类型的界面。例如,相同的数据模型应该支持 View UI、网页 UI、命令行 UI 或脚本接口(interface)。
例如,假设您有一个应用程序,其核心功能是捕获两个数字、保存它们、将它们相加并返回结果。很容易在 VC 中进行加法并立即显示结果。但是,由于这是核心功能,因此数据模型应该进行添加。这样,任何 View 或任何界面都可以通过引用数据模型中的函数轻松添加数字。如果你想添加额外的 View ,每个新的 VC 只需要了解数据模型,而不是任何其他 VC。
这还有一个实际优点,可以轻松地将应用程序分解为多个 Nib 。每个 VC 都有自己独立的 Nib 。由于每个 VC 仅与数据模型通信,因此您只能在需要时以任意顺序加载 nib(只要 VC 的数据位于数据模型中。)
您可能需要退出并重新考虑您的整体应用设计。将连接 VC 的逻辑和数据移至数据模型中。然后将 VC 分解为模块化 Nib 就会很简单。
关于cocoa - 使用 Core Data 将 nib 拆分为多个 nib 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192285/
我正在尝试在手写笔中使用 Nib CSS3 扩展。安装了手写笔和 Nib (尝试了本地和全局 -g)。但没有一个工作,当我做 stylus styles.styl > build/styles.css
我们当前的best-practice for custom views是: 在 Nib 中构建自定义 View 。 在 View Controller 中,以编程方式加载 Nib,从加载的对象数组中获
我是界面构建器的新手,我想要一个包含 UIView 的 3x3 网格的屏幕,每个网格都包含一个 UIImageView 和 4 个 UILabels。 我的逻辑可能有缺陷,但我试图实现这一目标的方式是
我有一个用 Swift 编写的框架/模块,它提供了一些具有 IBDesignable 功能的自定义控件。 目前我正在开发一个基于 CollectionView 的控件。 CollectionView
我有两个 nib 文件 - Main.nib 和 Preference.nib在 Main.nib 文件中,我有一个 NSView 类的实例。它的窗口有一个NSPopUpButton,单击它会显示一个
我想创建一个节标题来加载一个 nib 文件并将其设置为标题 UIView。这个 nib 文件还将有一个关联的类,其中连接了 outlets 和 action,所以我想像平常一样用 nib 加载那个类。
我正在尝试使用来自 this pre-built page menu pod from github 在说明中,它说: var controller : UIViewController =
我是 Cocoa 新手,无法将我的 nib 文件拆分为多个 nib 文件。 我的MainMenu.nib包含一个Tracker Controller对象,它是NSObject的子类。它在我的主菜单中有
我通过 XIB 创建了 CustomViewController。 我还通过作为 UIView 子类的不同 XIB 文件创建了 CustomView。 然后我将 UIView 绑定(bind)到 Cu
我正在使用自定义 UITableViewCell。当我尝试运行我的代码时,我得到了这个异常堆栈,我无法理解问题的根源: terminating app due to uncaught exceptio
我有两个 Nib ParentViewController.xib ChildViewController.xib ParentViewController.xib 包含一个 UIView 和一个 U
我一开始使用了一些 NSWindows 项目,但我的 GUI 正在不断发展,这些元素将更适合作为 NSViews。有没有办法将 NSWindow NIB 转换为 NSView NIB? 最佳答案 不存
我想要具有正确顺序的 View Controller 生命周期功能的完整列表。请任何天才。 请指定ViewController生命周期函数. 请指定序列号,例如用法:,并且仅使用简短描述。示例: 与使
我有两个 Nib :Parent.xib 和 Child.xib。 我已将子 Nib 包含在父 Nib 内以简化绑定(bind)。我在 loadView 中以编程方式设置 subview 。问题是,a
我正在开发一款通用应用程序,iPhone 版本运行良好。我为 iPad 创建了一个新的 nib,并将文件所有者设置为 viewcontroller 类。我连接了所有的 IBOutlets 和 IBAc
我有两个 UIViews,我将它们称为 A 和 B。 A 是B 的容器,每一个都是使用Interface Builder 创建的。 我需要使用界面生成器将我的 B View 添加到 A 中,如下图所示
谁能解释什么时候对同一个 NIB 文件使用多个 View 比使用多个 NIB 文件更好? 一个 NIB 文件可以包含多个 View ,因此有时使用一种方法比使用另一种方法更好。 我是不是太含糊了? 最
简单的任务:我有一个带有 2 个 NIB 文件的应用程序(每个 NIB 文件都有自己的 Controller )。我已经成功地显示了第二个 NIB 文件的窗口,就像我想要的那样,但现在,我想单击 NI
目前,我有一个托管上下文、许多相互关联的实体 NSArrayController,以及几个 Windows,每个 Windows 都使用 1 或 2 个 NSArrayController。 Wind
尝试创建一个 tableView 单元格 xib,但遇到错误“加载了 nib 但未设置 View 导出” 我读过很多帖子,大多数人都说将“ View ”从文件所有者拖到 IB View 。 但是,如果
我是一名优秀的程序员,十分优秀!