在读程序时经常会在一个函数的开头出现:
#if abcde
#pragma mark - fgh
#endif
查阅了一些资料才知道这究竟是干嘛的,以#pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令。它们不一定适用于其它编译器或其它环境。如果编译器不能识别该指令,则会将其忽略。
它的作用:
#pragma mark -Initialization
它们告诉Xcode编译器,要在编辑器窗格顶部的方法和函数弹出菜单中将代码分隔开,如下图所示:
一些类(尤其是一些控制器类)可能很长,方法和函数弹出菜单可以便于代码导航。此时加入#pragma 指令对代码进行逻辑组织很有效果。
注意#pragma mark – 的“-”后面不能有空格。如果你的标志没有出现在弹出菜单中,比如没有分隔线出现,请在Xcode菜单 “Preferences..”中的 “Code Sense”选项取消选中”Sort list alphabetically”即可。
如果还有不懂得可以参考英文原文,网址:http://inchoo.net/mobile-development/iphone-development/what-is-a-pragma-mark/#comment-20352