首页 文章

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

提问于
浏览
269

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

  • 他们必须在场吗?

  • 可以添加新标记吗?他们为什么会这样?是什么导致的?

  • 删除标记有什么危害吗?有人会想要吗?

7 回答

  • 53

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

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

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

    enter image description here

  • 20

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

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

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

  • 307

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

  • 11

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

    EDIT

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

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

  • 4

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

    默认情况下,此跳转栏不仅仅是一个长列表 . (虽然我们可以在跳转栏出现时开始输入,它会在跳栏项目中搜索) . 这里需要 pragma mark

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

  • 9

    在搜索doc指向编译指示如何为编译器指令时,我发现这个工作做得很好NSHipster article .

    我希望你会喜欢阅读

  • 13
    #pragma mark - NSSecureCoding
    

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

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

相关问题