【问题标题】:Commenting standards while writing iOS applications?在编写 iOS 应用程序时评论标准?
【发布时间】:2026-02-13 03:25:03
【问题描述】:

G'Day 程序员,我来自 Java 背景,但是我刚刚开始学习 C++Objective C。当我在第三方 Objective C 代码中有这么多不同的编码风格时,我很担心。但我有点进退两难。

我的困境是在编写 iOS 代码时是否使用#pragma 标签 应用?它被认为是一个好习惯吗?或者它是 程序员自己选择有那些指令下拉链接?

您的专业知识和行业经验会有所帮助,

谢谢


  • 我在互联网上搜索的内容主要是暗示#pragma 的作用。但我找不到太多关于这是否被认为是好的做法的信息。

【问题讨论】:

  • 至于C++:为什么你认为你需要#pragma?不要使用它,除非你有一个无懈可击的解释为什么你需要它。
  • 如我所说我天真,我将删除c++标签:)
  • 在 C 和 C++ 中,我会考虑在几乎所有情况下使用编译指示作为 NoNo。在 ObjectiveC/C++ 中,使用 pragma 进行分隔被认为是好的和有帮助的。请注意,ObjectiveC/C++ 通常必须在单一平台(MacOS / iOS)上使用。编译指示通常用于编译器特定的指令,这很糟糕,因为它削弱了可移植性。
  • @Till:在 Objective-C 中你根本不需要#pragma。请参阅我对亚历山大的回答的评论。
  • @Till:是的,我觉得 XCode 4 有很多地方不对 :)

标签: objective-c ios compiler-directives


【解决方案1】:

我通常使用#pragma 来分隔实现,例如:

#pragma mark UITableViewDelegate Methods

#pragma mark Custom functionality Methods

所以我可以查看下拉菜单并直接转到我想要的位置。

【讨论】:

  • 哦,好吧,这完全取决于我们是否需要设置那些下拉链接?谢谢大佬!
  • @Brogrammer:您不需要为此使用#pragma。像// MARK: some title 这样的评论同样有效。此外,// MARK: - 在菜单中为您提供分隔符
  • 而且,毕竟,这是一个单一的 IDE:Xcode 所特有的。 如果你不使用 Xcode,即使这样也无济于事。
【解决方案2】:

我也用过

 #pragma mark - UISomeDelegate

 #pragma mark -

XCode 在导航栏中用一行分隔方法列表:

【讨论】:

  • 他们没有出现在我面前。我还需要做些什么来激活这些分隔符吗?