Разметка и документирование кода
В Xcode есть возможность добавлять в код специальные маркеры:
- MARK
- TODO
- FIXME
Первым чаще всего обозначают группы элементов, а двумя остальными — требующие доработки места.
import Foundation
class Cat {
// MARK: - Properties
// MARK: required
let breed: String!
var age: UInt!
// MARK: optional
let sex: String?
// MARK: - Initialization
init() {
breed = "siamese"
age = 1
// FIXME: Sex setting
sex = nil
}
// MARK: - Main
func walk() {
print("Walk")
}
// TODO: Write a logic
func meow() {
print("Meow...")
}
}
В панели иерархии это выглядит так:
Кроме разметки, редактор также позволяет документировать код Markup-языком. Возможности его достаточно обширны и включают наряду с базовым описанием объектов, параметров и возвращаемых значений, различные заголовки, списки, ссылки, вставки кода, изображений и многое другое.
Для наглядности, пример с использованием основных команд:
import Foundation
/**
The `Utility` class provides various useful functions and values.
*/
class Utility {
/**
Fixes the string representation of number.
```
1.0 -> 1 (not 1.0)
0.00003 -> 0.00003 (not 3e-05)
```
- parameters:
- doubleValue: The number to be represented as the string.
- returns: The string representation of number.
*/
class func doubleToString(doubleValue: Double) -> String {
var stringValue: String
if trunc(doubleValue) == doubleValue {
stringValue = "\(Int(doubleValue))"
} else if abs(doubleValue) < 0.0001 {
stringValue = "\(doubleValue + (doubleValue.isSignMinus ? -1 : 1))"
stringValue = stringValue.stringByReplacingOccurrencesOfString("1.", withString: "0.")
} else {
stringValue = "\(doubleValue)"
}
return stringValue
}
}
Теперь эта информация будет отображаться во всплывающей подсказке и панели помощи: