在IB中创建UI时,我经常使用具有操作的按钮,但视图控制器没有理由访问此按钮。
按钮文字永远不会改变,按钮图像永远不会改变,它永远不会移动等等......
因此我没有给它一个IBOutlet属性,我也没有把它连接到VC中的任何东西(当然除了动作)。
有一个类似的问题我已经读过了,那里的论点会涉及内存管理问题。这个问题是从2011年初开始,在ARC之前。鉴于我的所有IBOutlet属性都是弱的,内存由他们的超级视图处理,而不是由视图控制器处理。所以这个问题中提到的问题现在没有用了。
现在有理由将它们连接起来吗?他们应该总是有联系吗?如果是这样,为什么?
答案 0 :(得分:7)
简答:不。
需要 IBOutlet
来引用UI的元素。
如果您不需要访问此类元素,则无需使用IBOutlet
答案 1 :(得分:1)
答案是否定的。
但是这里有一个有价值的提示,如果有人看到这个问题/答案并且去了并且删除了所有未使用的IBOutlets。
如果您删除了UIElement的IBOutlet,请确保IB中的UIElement未引用现在不存在的插座。否则,你会遇到一些奇怪的崩溃,需要相当长的时间才能解决。
这是一个让我多次喝汤的问题。我不确定这是否已在Xcode的最新版本中得到修复,但检查起来更安全。