【问题标题】:In Xcode 4.3, can I require forward method declarations as before在 Xcode 4.3 中,我可以像以前一样要求转发方法声明吗
【发布时间】:2012-04-02 18:12:01
【问题描述】:

在 Xcode 4.3 之前,如果您想在声明其实现之前使用方法,则需要前向声明该方法(与 C 函数原型一样)。这通常在类延续(AKA 类扩展,私有类别)中完成。这个问题有一个很好的例子:Private Methods in Objective-C, in Xcode 4.3 I no longer need to declare them in my implementation file ?

从 4.3 开始,不再需要这样做;烘干机很高兴。

但是可以关闭这个魔法,回到 4.3 之前的行为吗?

【问题讨论】:

  • 您能否详细说明您想要这些警告的原因?是不是让使用旧工具的人不会收到您看不到的构建警告?
  • 有些人发现类延续与头文件一样有用,可以一目了然地查看“私有”方法。
  • 您还希望在 Xcode 4.3 和 4.2 用户之间共享代码时出现警告。否则 Xcode 4.3 用户签入在 Xcode 4.2 下无法编译的代码。
  • @Sandy 如果您愿意,您仍然可以添加前向声明,如果您这样做,编译器仍会在未实现时发出警告。 FWIW:单击“跳转栏”的末尾是我如何扫描类中的方法developer.apple.com/library/ios/recipes/xcode_help-jump_bar/…
  • @EricS 我能提供的最好建议是制定一个使用“LLVM GCC 4.2”作为编译器的方案,因为它会发出警告,并在签入之前使用它进行构建。我知道这不是太好了,如果您使用需要 LLVM 的功能,可能无法正常工作:-(

标签: objective-c xcode forward-declaration xcode4.3


【解决方案1】:

目前这是不可能的。 Objective-C 的解析行为已更改为不再需要前向声明。

【讨论】:

  • 我刚刚确认即使启用了 -Weverything,这也不会导致错误。所以似乎没有警告标志来获得 Clay 所需的行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 2018-11-12
  • 2023-03-16
相关资源
最近更新 更多