nib加载器只保留nib中的第一个顶级UIView?

时间:2012-11-13 14:35:36

标签: objective-c xcode automatic-ref-counting nib

我在启用ARC的项目中有一个笔尖,顶层包含两个UIViews。一个是主视图,并且像往常一样连接到笔尖所有者中的属性view作为弱引用。

第二个顶级UIView已连接到文件所有者中的另一个属性。如果我将该属性定义为weak,系统似乎立即释放它 - 所以似乎nib加载器只保留nib文件中的第一个和主UIView。这是正确的,如果是的话,是否有任何文件支持这个?我一直在寻找确认,但无法在Apple文档或Stack Overflow上找到它。

我正在运行Xcode 4.5.2。

1 个答案:

答案 0 :(得分:3)

我认为nib加载机制不会对任何对象做任何特殊处理。它遵循定义的任何连接的属性规范。例如,view的{​​{1}}属性表示:

UIViewController

nib documentation表示,“Outlets通常应该很弱,除了那些从文件所有者到nib文件中的顶级对象(或者在iOS中,故事板场景)应该是坚强。“我相信现在OS X和iOS都是一致的。

当我读到它时,这意味着你负责创建一个强大的属性,引用任何尚未被框架处理的顶级对象。