这是我参加更文应战的第12天,活动概况查看: 更文应战

办法是与特定类型相关联的函数。

关于办法,Swift 和 OC 最主要的差异是,在Swift中,结构体和枚举数据结构与算法都能够定义办法。

swift代码例办法

  • 实例办法

    • 实例办法:归于特定优先级调度算法类、结构体或枚举类型的实swift体系例的函数
    • 实例办法与函数的语法相同
    • 实例办法能够隐式拜访该类型所有其他实例办法和特征,实例办法只能在其所属类型的特定宫颈癌疫苗实例上调用
    class Student {
    var name = ""
    func gotoSchool() {
    print("(name)去学校")
    }
    }
    let stu = Student()
    stu.name = "李雷"
    stswiftkeyu.gotoSchool()
    log:
    李雷去数据结构知识点总结学校
    
  • self特征

    • 类型的每个实例都有一个隐式特征self,它等同于实例自身。运用self特征在其自己的实例办法中引证其时实例方针
    • 大多数情况下,不需求在实例办法中运用枚举类型 javaself特征去引证该实例的特征或许调用其他办法,由于 Swift 会自动揣swift代码度为其时类型的实例。但是当实例办法的某个参数称谓与swiftkey实例特征称谓相同的时,参数称谓优先级比较高,若是需求运用特征,则需求用self来差异参数称谓和特征称谓
    class Studenswift代码是什么意思t {
    v枚举类型 javaar name =swiftkey ""
    func sayHI(name :String) {Go
    print("hello (name),I am (self.name)")
    }
    }
    let student = Student()
    student.name = "Li lei"
    student.sayHI(name: "hanmeimei")
    log:
    hello hanmeimei,I am Li lei
    
  • 实例办法中修改值类型

    结构体和枚举都是值类型。默许情况下,值类型的特征无法在其实例办法中修改。假定需求在特定办法中修改其特征,能够运用关键字mutating,将其放在枚举或结构体中所定义实例办法的func关键字之前。当办法结束时,所做的任何更改都将写回原始数据结构中。该办法还可认为其隐枸杞self特征分配一个全新Go的实例,而且该self所标明的新实例将在办法结束时替换现有实例优先级表

    • 结构体
    struct Student {
    var name = ""
    mutating func changeName(name:String数据结构与算法) {
    //赋值给隐式的self特征
    self = Student.init(name: name)
    }
    }
    var stude狗狗币nt = Stu数据结构c言语版第二版课后答案dent.init(name: "lilei"swift言语)
    print(student.name)
    student优先级c言语.changeName(name: "hanmeim优先级最高的运算符ei")
    print(student.name枚举类型 c言语)
    log:
    lilei
    hanmeimei
    
    • 枚举
    enum Color{
    case red
    case yellow
    case green
    mutating f数据结构c言语版第二版课后答案unc changeColor() {
    switch self {
    case .优先级表red:
    self = .yellow
    case .yelswift世界结算体系low:
    self = .green
    case .green:
    self = .red
    }
    }
    }
    var color = Color.red
    print(color)
    co优先级和劣后级的差异lor.changeColor()
    print(color)
    log:
    red
    yellow
    

类型办法

  • 类型办法:运用类型自身而不是类型的实例去调用的办法。

  • func关键字的前面swifterstatic关键字,若其时swifter的类型是类类型时,也能够运用class关键字,对类类型运用class关键字时,标明答应子类重写父类的办法

  • 在类型办法中,隐式的self特征引证的是类型自身而不再宫崎骏是类型的实例。能够运用self特征来枚举类型的用法消除类特征和类型办法参数之间的Go歧义

    cswift怎么读lass Student {
    static var name = "hanmeimei"
    class func sayHI(name :String) {
    print("hello (name), I am (self.name)")
    }
    }
    Student.sayHI(name: "lilei")
    log:
    hello lilei, I am han工商银行meimei