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

Jam*_*sev 272 xcode objective-c pragma

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

  • 他们必须在场吗?
  • 可以添加新标记吗?他们为什么会这样?是什么导致的?
  • 删除标记有什么危害吗?有人会想要吗?

Err*_*Efe 311

#pragma mark指令显示在菜单中的Xcode中,用于直接访问方法.他们根本没有对该计划产生任何影响.

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

有一个特殊的pragma mark -,创造一条线.

在此输入图像描述


day*_*v89 53

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

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

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


Gam*_*mer 20

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


Max*_*sca 13

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

编辑

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

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


Sau*_*oda 11

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

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

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


ter*_*ina 10

在搜索doc指向编译指示如何为编译器指令时,我发现这篇NSHipster文章很好地完成了这项工作.

我希望你会喜欢阅读


Jeb*_*ses 5

#pragma mark - NSSecureCoding
Run Code Online (Sandbox Code Playgroud)

“编译指示”的主要目的是供开发人员参考。在此处输入图片说明

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

  • 删除 **#pragma-mark** 不会影响代码的任何功能,但您的代码可能会失去可读性。如果您确实不想,可以将其删除。 (2认同)