0

在这个特定的可可项目中,我有一组视图的属性,并且从 xml 文件中解析出相应的子视图。

一次只有一个视图处于活动状态,并且视图可能会经常更改。

最好是

A.) 使用解析的属性初始化视图对象,并将对它们的引用存储在一个数组中,以便在必要时使用。

b.) 使用解析的属性初始化一个 NSObject,然后通过工厂根据需要创建它的各自视图。

这背后的逻辑是,未使用的 NSView(大多数)可以在需要时由 ARC 释放,因为它们没有持久引用。

这引出了另一个问题。

当引用 NSView 但未显示时,所有这些是否都在后台完成(因为 NSView 是 NSObject 子类)?

4

1 回答 1

0

您正在描述实现自己的 xibs 版本。我要说,“最好的”答案是重新考虑你的设计决定。可能有更好、更简单的方法来实现您想要的结果。

描述 NSView 的所有属性和子视图的 NSObject 数组与 NSView 数组之间的内存差异是名义上的。

最节省内存的方法是通过 NSWindowController 或 NSViewController 懒惰地反序列化单个视图。

于 2013-01-24T02:48:39.190 回答