Swift 方法

2020-02-25  本文已影响0人  Arthur澪

方法分为:实例方法、类方法。

类似于OC中的-方法,+方法

class Car {
    // 类变量
    static var cout = 0
    init() {
        Car.cout += 1
    }
    // 类方法
    static func getCount() -> Int { cout }

}

let c0 = Car()
let c1 = Car()
let c2 = Car()
print(Car.getCount()) // 3

关键字self
在实例方法中,代表实例对象
在类方法中,代表类型

枚举、结构体、类,都可以定义实例方法、类方法。

关键字mutating

默认情况下,值类型的属性不能被自身的实例方法修改。mutating修饰后,可以允许这种修改行为。

结构体和枚举是值类型。

struct Point {
    var x = 0.0, y = 0.0

    mutating func moveBy(deltaX: Double, deltaY: Double) {
        x += deltaX
        y += deltaY
        // self = Point(x: x + deltaX, y: y + deltaY)
    } 
}

@discardableResult

func前面加个@discardableResult,可以消除:函数调用后返回值未被使用的警告。

@discardableResult
func get() -> Int {
  return 10 
}

get()
上一篇 下一篇

猜你喜欢

热点阅读