2

在 IB 中创建 UI 时,我经常使用具有操作但视图控制器没有理由访问此按钮的按钮。

按钮文本永远不会改变,按钮图像永远不会改变,它永远不会移动,等等......

因此,我没有给它一个 IBOutlet 属性,也没有将它连接到 VC 中的任何东西(当然除了动作之外)。

我读过关于 SO 的类似问题,其中的论点涉及内存管理问题。这个问题来自 2011 年初,在 ARC 之前。鉴于我所有的 IBOutlet 属性都很弱,内存是由它们的超级视图处理的,而不是由视图控制器处理的。因此,该问题中提到的问题现在没有实际意义。

现在有理由将它们连接起来吗?他们应该总是有联系吗?如果是这样,为什么?

4

2 回答 2

7

简短的回答:没有。

IBOutlet需要 s 来引用 UI 的元素。

如果您不需要访问这些元素,则不必将它们与IBOutlet

于 2013-01-26T01:30:51.613 回答
1

答案是否定的。

但这里有一个有价值的提示,如果有人看到这个问题/答案并开始努力并删除所有未使用的 IBOutlets。

如果删除 UIElement 的 IBOutlet,请确保 IB 中的 UIElement 没有引用现在不存在的插座。否则,你会遇到一些奇怪的崩溃,这需要相当长的时间才能解决。

这是一个让我多次陷入困境的问题。我不确定这是否已在最新版本的 Xcode 中修复,但检查起来更安全。

于 2013-01-26T02:16:23.493 回答