一、方法
- 实例方法实例:
class Person {
static var age = 0
init() {
Person.age += 1
}
//这里的age 等同于self.age 或 Person.age ,因为实例方法中self代表实例.
static func getAge() -> Int {age}
}
let p1 = Person()
let p2 = Person()
let p3 = Person()
print(Person.getAge()) //3
- 类型方法实例:
class Point {
var x = 0.0
var y = 0.0
}
let p1 = Point()
p1.x = 10
p1.y = 10
print(p1.x,p1.y) //10,10
注意:我这里用的是【class】,如果用【struct】,需要通过【mutating】来修饰,因为结构体和枚举是值类型,默认情况下,值类型的属性不能被自身的实例方法修改
struct Point2 {
var x = 0.0
var y = 0.0
//mutating: 结构体和枚举是值类型,默认情况下,值类型的属性不能被自身的实例方法修改
mutating func moveBy(deltaX:Double, deltaY:Double) {
x += deltaX
y += deltaY
// self = Point2(x: x+deltaX, y: y+deltaY)
}
}
小技巧: