我在启用ARC的项目中有一个笔尖,顶层包含两个UIViews
。一个是主视图,并且像往常一样连接到笔尖所有者中的属性view
作为弱引用。
第二个顶级UIView
已连接到文件所有者中的另一个属性。如果我将该属性定义为weak
,系统似乎立即释放它 - 所以似乎nib加载器只保留nib文件中的第一个和主UIView
。这是正确的,如果是的话,是否有任何文件支持这个?我一直在寻找确认,但无法在Apple文档或Stack Overflow上找到它。
我正在运行Xcode 4.5.2。
答案 0 :(得分:3)
我认为nib加载机制不会对任何对象做任何特殊处理。它遵循定义的任何连接的属性规范。例如,view
的{{1}}属性表示:
UIViewController
有nib documentation表示,“Outlets通常应该很弱,除了那些从文件所有者到nib文件中的顶级对象(或者在iOS中,故事板场景)应该是坚强。“我相信现在OS X和iOS都是一致的。
当我读到它时,这意味着你负责创建一个强大的属性,引用任何尚未被框架处理的顶级对象。