我可以使用 Interface Builder 跨多个 nib 注入依赖项吗?

2023-12-22

我习惯于从外部为我的对象提供依赖项。 Interface Builder 是一个可以帮助完成此操作的工具,但我无法使其与多个笔尖一起使用。一旦我将主笔尖分成更多文件,我就无法再在不同笔尖中的对象之间建立连接。使用文件所有者并没有多大帮助,因为它只允许我将一个对象传递到笔尖中。

Example:

这里 A 和 B 是一些较高级别的对象,C 和 D 是某种较低级别的服务。只要所有物体都在一个大笔尖内(第一张图片),一切都很好。但是,当我将笔尖分开以分离 A 和 B 时,我无法将它们连接到 C 和 D。(显然我不想创建 C 和 D 的两个实例,我希望 A 和 B 都与同一个 C 和 D 通信不使用单例。)

可以在 Interface Builder 中执行此操作吗?如何?


.nib 中的对象对应于您的视图层,对吧?取消归档后,它们归您选择的控制器所有,该控制器在您的服务和视图之间进行调解。

在 .nib 文件中存档任何类型的较低级别服务或任何类型的依赖项确实是非常规的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用 Interface Builder 跨多个 nib 注入依赖项吗? 的相关文章

  • 更改 macOS 应用程序中打开窗口中的文档

    我正在为 macOS 编写一个基于文档的应用程序 我正在尝试编写一项功能来更改当前窗口中的活动文档 以便能够循环浏览文件夹中的下一个 上一个文档 就像使用图像浏览器应用程序一样 我应该调用什么命令来在当前窗口中打开不同的文档 文档表明 op
  • 处理过时的 NSURL 书签的正确方法是什么?

    从安全范围的书签解析 NSURL 时 如果用户已重命名或移动该文件或文件夹 则该书签将过时 苹果的文档对于陈旧性有这样的描述 isStale 返回时 如果是 则书签数据已过时 你的应用程序应该 使用返回的 URL 创建一个新书签并用它代替
  • 如何使用 NSUserDefaults 正确工作(检索值)

    我的代码中有一个简单的方法 如下所示 BOOL isFirstTimeLogin NSString t gName NSString stringWithFormat NSUserDefaults standardUserDefaults
  • NSPoint/NSRect 来自 NSTextView 中的字符

    所以我试图获取与 NSTextView 中特定字符的位置相对应的 NSPoint 或 NSRect 这就是我到目前为止所拥有的 效果不是很好 结果似乎有点不可预测 NSRange theTextRange theTextView layou
  • 如何在asp.net core 2.2中注册IFileProvider进行依赖注入?

    我有以下类 以便能够从引用项目的资源中提供文件 public class ConfigureOptions IPostConfigureOptions
  • 尽早检测有问题的 XIB 视图

    我的笔尖名称有一个拼写错误 当我推向导航控制器时 它在代码中被破坏了 弄清楚它并没有花太长时间 但我认为最好尽早断言格式良好 以便更容易弄清楚 问题是它不是零 它只是无法从笔尖正确地形成自己 在 initWithNib 之后是否有更好的断言
  • NSDecimalNumber 的decimalNumberByDividingBy:withBehavior 出现问题:

    我似乎总是遇到 NSDecimalNumber 的麻烦 今天 我收到此错误 Terminating app due to uncaught exception NSInvalidArgumentException reason NSCFNu
  • Spring注入绑定到Instance

    有没有一种方法可以使用类似于 Google Guice 的 Spring DI 将注入的对象绑定到特定实例 bind MyClass class toInstance myclassobject 如果构造函数或成员变量被注释为 Autowi
  • 多个视图和控制器的 MVC 类组织是什么样的?

    MVC 本身的想法对我来说似乎很清楚 但我很难理解这个概念如何 扩展到 多个视图和控制器 看来 Cocoa 采用了将控制器作为模型和视图之间的 交换机 的方法 在多个视图的情况下 应用程序将如何组织和运行 如果每个视图都有一个关联的控制器
  • 为什么我的 NSFontPanel 没有调用 changeFont: ?

    我正在创建一个NSFontPanel但选择字体并不会调用changeFont method 我在一个中定义了这些方法NSWindowController子类 IBAction showFontPanel id sender NSFontPa
  • 在 MVC Core DI 中注册服务集合

    我有简单的策略课程 public class LinkQualifier ILinkQualifier private readonly IEnumerable
  • NSCollectionView 拖放:大多数委托事件未被调用

    我有一个 NSCollectionView 绑定到一个 NSArrayController 我想让拖放工作 所以我创建一个委托并实现方法 BOOL collectionView NSCollectionView collectionView
  • 以编程方式更改分辨率 OS X

    我的问题很简单 我正在开发一款游戏 正如标题所述 我希望能够以编程方式更改 OS X 上的显示分辨率 刷新率 我已经搜索了几个小时 但找不到任何东西 我已经知道如何创建全屏窗口 我还想获取支持的分辨率和刷新率的列表 来自苹果的适用于 Mac
  • XCode 4.2 停止界面生成器自动缩放

    每当我更改所选控件时 有什么方法可以阻止 XCode 4 中的 IB 缩放以尝试填充屏幕 尝试在 1440x900 笔记本电脑屏幕上开发 iPad 故事板让我抓狂 这使得在屏幕上放置大块几乎是不可能的 有谁知道一些隐藏的偏好迫使 XCode
  • Mac OS X 10.7 Lion 上的 AVFoundation 核心动画问题

    在 Mac OS X 10 7 中 Apple 引入了 AVFoundation 我正在尝试生成一个包含动画形状的简单快速电影 问题是核心动画没有渲染 我最终只有一个空白的 黑色 视频 下面是我使用的代码 我尝试了很多变体 但遗憾的是它们都
  • 如何在可可中获取图像的作者

    我不明白为什么metaDic 总是为空 有一个代码 CFDataRef dataRef CGDataProviderCopyData CGImageGetDataProvider img CGImage UIImage img CGImag
  • NInject:你在哪里保存对内核的引用?

    我在一个新的 Web 应用程序上使用 NInject 但有两件事我不清楚 我是否不需要保留对内核 会话 应用程序变量 的引用以确保 GC 不会收集我的所有实例 例如 如果我指定 Using 然后收集内核对象 那么我的所有 单例 不是也会被收
  • 强制将应用程序窗口保持在顶部 - Mac OS X

    早些时候我用 Afloat 来做这个 但现在它似乎已经死了 是否有任何活着的软件或任何简单的 方便 方法可以强制将应用程序窗口保持在其他窗口之上 包括全屏应用程序 我可以想象这可以通过向 app 内的 plist 文件添加一些内容来完成
  • 如何强制 Unity 创建一个新实例?

    使用 Unity 应用程序块 当我们调用时 如何强制 Unity 配置创建对象的新实例UnityContainer Resolve
  • 从 NSString 的第一行删除换行符

    我怎样才能删除第一个 nNSString 中的字符 编辑 只是为了澄清一下 我想做的是 如果字符串的第一行包含 n 字符 请将其删除 否则不执行任何操作 即 如果字符串是这样的 nhello this is the first line n

随机推荐