Sef*_*ran 4 cocoa-touch objective-c ios ios5 automatic-ref-counting
可能重复:
IBOutlets在ARC下是强还是弱?
在文档中,我读到"Outlets通常应该是弱的,除了那些从File的所有者到nib文件中的顶级对象(或者,在iOS中,故事板场景中)应该是强大的."
例子?我不明白什么时候最好使用IBOutlet的"弱"而不是"强"属性.
jav*_*log 24
一般情况下:如果您正在查看ViewControllers子视图的子视图,那么它应该很弱.只要顶视图存在(在viewDidLoad和viewDidUnload之间),该对象就存在.由于iOS 5 ARC自动使弱链接无效,因此当viewController卸载其视图并且视图层次结构被销毁时,您的插座将自动设置为nil.
但也许你想在你的nib文件(模型对象)中创建另一个对象.由于此对象不在视图层次结构下,因此需要使iboutlet变强.如果你使它弱链接,该对象将被自动释放,因为没有其他对象具有强引用它,ARC将释放它并将nil设置为你的IBOutlet.这不是子视图的情况,因为它的超级视图与它有很强的联系.