1.定义
方法有实例方法,类型方法。枚举,结构体,类都可以定义方法。
实例方法:通过实例对象调用方法。
类型方法:通过类型调用,用static或者class修饰。
例子:
class Test {
//实例方法
func buyBus() {}
//对象方法
static func buyCar() {}
}
var test = Test()
test.buyBus()
Test.buyCar()2.mutating
结构体和枚举是值类型,默认情况下,值类型的属性不能被自身的实例方法修改。 但是如果在func关键字前加mutating可以允许这种修改行为。
例子:
struct Test2 {
var x: Int
var y: Int
mutating func buyIphone(a: Int, b: Int) -> Void {
x += a
y += b
}
}3.discardableResult
在func前面加个@discardableResult,可以消除:函数调用后返回值未被使用的警告。
例子:
struct Test2 {
var x: Int
var y: Int
@discardableResult mutating func buyIphone(a: Int, b: Int) -> Int {
x += a
y += b
return x + y
}
}
var test2 = Test2(x: 0, y: 0)
test2.buyIphone(a: 5, b: 10)上一篇文章:swift从入门到精通08-属性