8

在 Java 中,当您覆盖一个方法时,建议(几乎是被迫)添加@Override注解。在 Objective-C 世界中是否有标记(在注释中或通过其他机制)覆盖方法的约定?

4

3 回答 3

4

不。Objective-C 中的所有方法都是通过 Objective-C 的消息传递发送的,因此所有方法都可以被覆盖。这是语言的一部分。

也没有标记这个的约定。这是它发生的语言的一部分,如果你要评论否则它只会在你以后偶然或有意地这样做时感到困惑。

于 2012-05-10T14:56:21.843 回答
1

我不确定 Xcode 是否这样做,但来自 Jetbrains 的 AppCode IDE 会自动使用边距中的小蓝色覆盖徽章注释被覆盖的方法,如下所示:

应用程序代码覆盖

. . 除此之外(也显示了),我还喜欢创建一些实时模板(在 Xcode 中也称为代码片段),以使用 #pragma 标记来注释被覆盖的方法。我发现它有助于按以下顺序定义标准结构:

  • 类方法
  • 初始化和销毁
  • 公共方法/协议方法
  • 被覆盖的方法
  • 私有方法

通过使用实时模板/代码片段,我只需键入“覆盖 [tab]”,IDE 就会为我创建 #pragma 标记。

. . 也许您甚至可以使用 OCLint 来检查该结构是否得到遵守。

于 2014-01-09T09:45:42.093 回答
0

不,不是。

这似乎并不重要,可能是因为动态调度。

于 2012-05-10T14:54:16.587 回答