0

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

第二个顶层UIView连接到文件所有者的另一个属性。如果我将该属性也定义为weak,则系统似乎会立即取消分配它——因此 nib 加载器似乎只保留UIView了 nib 文件中的第一个和 main 。这是正确的吗?如果是,是否有任何文件可以支持?我一直在寻找确认,但在 Apple 文档或 Stack Overflow 上的任何地方都找不到它。

我正在运行 Xcode 4.5.2。

4

1 回答 1

3

我不认为 nib 加载机制对任何对象有什么特别之处。它遵循定义的任何连接的属性规范。例如, 的view属性UIViewController说:

@property(nonatomic, retain) UIView *view

有一个nib 文档说,“Outlets 通常应该是弱的,除了从 File's Owner 到 nib 文件中的顶级对象(或者,在 iOS 中,故事板场景)应该是强的。” 我相信这对于 OS X 和 iOS 现在是一致的。

正如我所读到的,这意味着您负责创建一个强大的属性来引用尚未由框架处理的任何顶级对象。

于 2012-11-13T15:17:44.100 回答