Swift和OC代码注释分析 #pragma mark, FIXME and TODO

来源:互联网 发布:mac抹掉进程失败 编辑:程序博客网 时间:2024/05/21 09:31

While coding in Objective-C, #pragma mark isveryhandyfor code organization in the Jump Bar. Forexample: 

#pragma mark – Initialization code here... #pragma mark – Table Managementmore code here...

The Jump Bar would show the following, where code sections areclearly marked:

#pragma mark Alternative for Swift

Xcode 6 now supports a similar featureusing // MARK:

// MARK: - Initializationcode here... // MARK: - View Managementmore code here...

With the result being:

The “-” after //MARK: is optional, including the “-”results the divider line shown just above thetext. 

// TODO: in Swift

Although not used as frequently (at least from my perspective),but handy none-the-less are FIXME and TODO. The later is nice whenyou need to set a reminder for code that you need to revisit.

override func viewDidLoad(){  super.viewDidLoad()   // TODO: add configuration code  self.configureView()}

You can also add TODO: outside a method as shown below:

// TODO: revisit memory management handlingfunc setupMemoryRecoveryCode(){}

Notice in the screenshot below that the TODO: references appearat different levels – the first TODO: isindented, indicating it is referencing something to do inside themethod itself.

// FIXME: in Swift

// FIXME: works in a similar manner, as it can be place eitherinside or out of a method.

For example, I’ll often place a // FIXME: with a bug referenceonce I track down the location of the problem. This gives me amarker and I can quickly return to the issue later.

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{  // FIXME: - Bug 2102  let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell  let object = objects[indexPath.row] as NSDate  cell.textLabel.text = object.description  return cell}

The output in the Jump Bar looks as follows:

0 0
原创粉丝点击