【问题标题】:Do IBOutlets have to be public?IBOutlets 必须是公开的吗?
【发布时间】:2012-04-17 06:34:43
【问题描述】:

xib 的出路?

有没有办法将其设为私有?

事实上,我对objective-c 很困惑。面向对象的思想不是以封装为前提的吗?

【问题讨论】:

    标签: objective-c xcode interface-builder


    【解决方案1】:

    你是对的,如果 outlet 只与类的实现相关,那么它们不应该是“公共的”(在 .h 文件中声明)。

    您可以在 .m 文件内的类扩展中声明插座。这些将被界面生成器识别。

    在 Xcode 4.3 中,从模板创建的视图控制器子类为此目的自动添加了此类扩展。使用助手编辑器按住 Ctrl 并拖入 .m 文件将创建新的出口。

    【讨论】:

    • 哇太棒了。 +1 被选为答案
    • 我是通过教程学习的,经常会被告知要将 outlet 拖到头文件中。很高兴知道它们可以被拖到实现文件中。
    【解决方案2】:

    这是可能的,但不是真的:-)

    “诡计”方式类似于:Tutorial: Encapsulation

    并查看这个问题,并进行精彩讨论:Why doesn't Objective-C support private methods?

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2015-04-28
      • 1970-01-01
      相关资源
      最近更新 更多