在这个特定的cocoa项目中,我有一组视图的属性,并且从xml文件中解析了相应的子视图。
一次只有一个视图处于活动状态,视图可能会频繁更改。
最好
A。)使用已解析的属性初始化视图对象,并在数组中存储对它们的引用,以便在必要时使用。
b。)使用已解析的属性初始化NSObject,这些属性可以根据需要通过工厂创建它的相应视图。
这背后的逻辑是,在需要时,ARC可以取消分配未使用的NSView(大多数),因为它们没有持久引用。
这引出了另一个问题。
当引用NSView但没有显示时,是否所有这些都在后台完成(因为NSView是一个NSObject子类)?
答案 0 :(得分:0)
您正在描述实现自己的xib版本。我要说的是,“最好”的答案是重新考虑你的设计决定。可能有更好,更简单的方法来实现您想要的结果。
描述NSView与NSView数组的所有属性和子视图的NSObject数组之间的内存差异是名义上的。
最有效的内存方式是通过NSWindowController或NSViewController延迟反序列化单个视图。