如果 XIB 中有更多***视图,为啥 outlet 会为零
Posted
技术标签:
【中文标题】如果 XIB 中有更多***视图,为啥 outlet 会为零【英文标题】:Why outlet get nil if more top-level views are in XIB如果 XIB 中有更多***视图,为什么 outlet 会为零 【发布时间】:2014-01-08 00:56:00 【问题描述】:为什么在 willRotateToInterfaceOrientation:duration: 中,outlet to view second 得到 nil? xib 中有两个***视图,first 和 second 出口都指向它们。一个XIB中不允许有两个***视图吗?我将 XIB 与 UIViewController 一起使用。 第二个 outlet 仍然存在于 viewDidLoad 方法中。
【问题讨论】:
【参考方案1】:我忘记将属性设置为 strong,而不是 weak。因为没有指针指向 second 视图,所以它被释放了。
@property (strong, nonatomic) IBOutlet UIView *first;
@property (strong, nonatomic) IBOutlet UIView *second;
【讨论】:
确实如此。*** nib 对象需要强引用。之后,它下面的所有对象都可以设置为弱引用。以上是关于如果 XIB 中有更多***视图,为啥 outlet 会为零的主要内容,如果未能解决你的问题,请参考以下文章