#pragma marks有什么意义?为什么我们需要#pragma标记?

时间:2011-07-28 03:35:29

标签: objective-c xcode pragma

Xcode中#pragma标记的目的是什么?他们在.m文件中的位置是否重要?一些#pragma应该先于其他所有人吗?

  • 他们必须在场吗?
  • 可以添加新商标吗?他们为什么会这样?是什么原因造成的?
  • 删除商标有什么害处吗?有人想过吗?

7 个答案:

答案 0 :(得分:308)

#pragma mark指令在Xcode中显示在菜单中,用于直接访问方法。它们对该计划没有任何影响。

例如,将它与Xcode 4一起使用会使这些项目直接显示在跳转栏中。

有一个特殊的pragma mark -可以创建一条线。

enter image description here

答案 1 :(得分:53)

#pragma mark用于标记方法组,因此您可以轻松地从跳转条中查找和检测方法。当您的代码文件达到大约1000行并且您希望通过跳转框中的类别快速查找方法时,它可能会有所帮助。

在长程序中,很难记住并找到方法名称。因此, pragma mark 允许您根据他们的工作对方法进行分类。例如,您为表视图协议方法,AlertView方法,Init方法,声明等标记了一些标记。

#pragma mark是XCode的工具,但它对您的代码没有影响。它只是有助于在编码时更容易找到方法。

答案 2 :(得分:20)

简单来说,我们可以说#pragma mark -用于分类方法,因此您可以轻松找到您的方法。它对于长项目非常有用。

答案 3 :(得分:13)

只是添加我正在寻找的信息:pragma mark是特定于Xcode的,所以如果你处理在不同IDE中打开的C ++项目,那么它就没有任何效果。例如,在Qt Creator中,它不会为方法添加类别,也不会生成任何警告/错误。

修改

#pragma是一个来自C编程语言的预处理程序指令。其目的是为编译器指定与实现相关的信息 - 也就是说,每个编译器可能会选择按需要解释该指令。也就是说,它被认为是一个不会改变/影响代码本身的扩展。所以编译器也可以忽略它。

Xcode是一个利用#pragma并以自己的特定方式使用它的IDE。关键是,#pragma不是Xcode,甚至是Objective-C特定的。

答案 4 :(得分:11)

当我们有一个很大/很长的课程说超过100行代码时,我们无法在Monitor屏幕上看到所有内容,因此我们无法看到我们班级的概述(也称为文档项目)。有时我们想看看我们班级的概况;它的所有方法,常数,属性等一目了然。您可以在XCode中按Ctrl + 6查看课程概述。你会得到一个弹出式的Window aka Jump Bar。

默认情况下,此跳转栏没有任何存储桶/部分。这只是一个很长的清单。 (虽然我们可以在跳转栏出现时开始输入,它会在跳栏项目中搜索)。需要pragma mark

如果要在跳转栏中创建部分,则可以使用带有相关描述的编译指示标记。现在请参阅相关的快照。 '查看lifeCycle'和'专用部分..'是由pragma mark s

创建的部分

答案 5 :(得分:9)

在搜索doc指向编译指示如何为编译器指令时,我发现这个NSHipster article可以很好地完成工作。

我希望你会喜欢阅读

答案 6 :(得分:5)

#pragma mark - NSSecureCoding

" pragma"的主要目的供开发人员参考。enter image description here

您可以在成千上万的编码行中轻松找到方法/功能。