有时候,我们需要在代码中搜索特殊的符号或者代码段,根据符号或使用搜索功能导航代码段效率并不算高。为了使用普通的英语标识重要的代码片段,可在代码中插入特殊格式的注释。这些注释不会在应用程序中添加任何特殊的功能,而只是在代码中创建逻辑分节。当你单击代码编辑器上方路径的最后一部分时,这些分节将会与其他代码符号一起显示出来。有下面三种类型的注释标记:
// MARK: - <label name>
// TODO: <text you want to remember>
// FIXME: <text you want to remember>
MARK注释标记用于在Symbol下拉列表中插入一条水平线,可用于根据功能或负责的程序员将不同的方法分组。通常写在一个方法的实现代码之前,例如:
// MARK: - Do initialization before view appear
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
对应的,点击地址栏最后一行,会弹出如下所示的下拉列表:
注:使用MARK注释的效果与使用#pragma mark的效果一样的,这种方法等价于:
#pragma mark - Do initialization before view appear
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
标记TODO和FIXME也会在Symbol下拉列表中插入一个字符串;顾名思义,它们能够提醒你需要牢记应该修复或完成的任务。这两个符号通畅用来标记截下来要完成的工作,既可以写在方法名之前,也可以写在方法内部:
// MARK: Do initialization before view appear
// TODO: Write here is ok
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
// TODO: You have do nothing here
// FIXME: Please do some thing
}
对应的Symbol下拉列表的显示效果如下:
注:当然并不是说MARK标记就不能够写在方法内部了,实际上任何可以写注释的地方都可以用这三个标记。但是,为了方便区分,区别使用这3个标记,最好按照一个通用的规定,大家在编写代码时共同遵守。