1.self的使用條件
- 當方法中參數(shù)和屬性名字相同時,默認使用參數(shù)弥鹦,這時候加上self就可以區(qū)別屬性和參數(shù)。
2.在實例方法中修改值類型
在默認情況下,值類型(結構體和枚舉)的屬性不能再它的實例方法中被修改靖诗。想要改變的話需要在方法前加上 mutating芦拿。
加過mutating的結構體方法可以如下:
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
self = Point(x: x + deltaX, y: y + deltaY)
}
}
枚舉方法中因為只會為其中唯一的值,所以可以用self指代當前值悔耘。
enum TriStateSwitch {
case Off, Low, High
mutating func next() {
switch self {
case .Off:
self = .Low
case .Low:
self = .High
case .High:
self = .Off
}
}
}
3.類型方法(類方法)
在func前加static來指定類型方法(添加class也可)讲岁。
class Person {
var name : String = "zc"
var age : Int = 26
static func method (_ name:String) {
print(name)
}
class func reloadAc () -> Void {
print("zc")
}
}
Person.method("蔡卓妍")
Person.reloadAc()