[英]Do IBOutlet member vars retain automatically?
奇怪的发现,当我使用拖放来创建一个新的IBOutlet时,如下所示,根本没有使用@property:
@interface SkinChoosingView : UIViewController {
IBOutlet UIActivityIndicatorView * activityIndicator;
}
Xcode插入-release
并在viewDidUnload
中将插座设置为nil。 我在viewDidLoad中看起来虽然没有-retain
在那里! 这违背了我对内存管理的所有了解。
我认为苹果必须知道关于这个东西的一两件事,那么幕后发生的事情是什么? 我从来没有从这些类型的IBOutlets泄漏,我从来没有发布它们。
是的,它会在加载NIB文件时自动保留插座,除非您明确声明与插座关联的属性为assign
属性。
并且由于它为您保留了插座,因此必须在viewDidUnload
释放,因为在调用下一个viewDidLoad
时将重新加载插座。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.