Swift中self使用代码详解

self是Swift中的一个关键字,用于在类、结构体和枚举中引用实例本身。正确理解和使用self可以提高代码的清晰性。

在实例方法中访问属性

在实例方法中,可以用self来访问该实例的属性和方法:

class User {
  var name = "John"

  func printName() {
    print(self.name)
  }
}

let user = User()
user.printName() // 打印"John"

这里的self代表当前User的实例。

在mutating方法中修改属性

struct和enum要修改属性必须用mutating关键字标记方法:

struct Point {
  var x = 0.0, y = 0.0

  mutating func moveBy(x: Double, y: Double) {
    self.x += x
    self.y += y
  } 
}

这里通过self可以修改Point的属性。

在初始化方法中初始化属性

使用self可以在自定义初始化方法中初始化实例:

class Vehicle {
  var speed = 0.0

  init() {
    self.speed = 10.0
  }
}

let v = Vehicle() // speed被初始化为10.0

访问类型属性

可以用类型名.self来访问类型属性,用self访问实例属性:

class SomeClass {
  static var typeProperty = "Type Property"

  func instanceMethod() {
    print(SomeClass.self.typeProperty) // 访问类型属性
    print(self.instanceProperty) // 访问实例属性 
  }
}

综上所述,self关键字在Swift中扮演重要角色,合理利用可以使代码更简洁易懂。要牢记self代表当前的实例或类型本身。