1.self的使用条件
- 当方法中参数和属性名字相同时,默认使用参数,这时候加上self就可以区别属性和参数。
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()