11:swift-方法
正文
/* 1: 方法 是关联了特定类型的函数。类,结构体以及枚举都能定义实例方法,方法封装了给定类型特定的任务和功能。类,结构体和枚举同样可以定义类型方法,这是与类型本身关联的方法。类型方法与 Objective-C 中的类方法相似。 事实上在 结构体和枚举中定义方法是 Swift 语言与 C 语言和 Objective-C 的主要区别。在 Objective-C 中,类是唯一能定义方法的类型。但是在 Swift ,你可以选 择无论类,结构体还是方法,它们都拥有强大的灵活性来在你创建的类型中定义方法。 2: 要写一个实例方法,你需要把它放在对应类的花括号之间。 实例方法默认可以访问同类下所有其他实例方法和属性。 实例方法只能在类型的具体实例里被调用。它不能在独立于实例而被调用。 3: 在实例方法中修改值类型 mutating关键字 结构体和枚举是值类型。默认情况下,值类型属性不能被自身的实例方法修改。 4: self 1:每个实例方法都有一个隐藏参数self 2:self可以用来区分全局边边和形式参数,当形式参数和全局变量一样的时候。 5:类型方法 关键字 class */ import UIKit class ElevenFunctionVC: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = .white self.title = "11:方法" let c = addCount(a: 10, b: 20) print(c) ElevenFunctionVC.someTypeMethod() } /* 1: 方法 1.1:类,结构体以及枚举都能定义 实例方法 类型方法 1.2: 在 Objective-C 中,类是唯一能定义方法的类型。 */ /* 2:实例方法 实例方法默认可以访问同类下所有其他实例方法和属性。实例方法只能在类型的具体实例里被调用。它不能在独立于实例而被调用。 */ private func addCount(a: Int, b: Int) -> Int { return a + b; } /* 3: self 1:每个实例方法都有一个隐藏参数self 2:self可以用来区分全局边边和形式参数,当形式参数和全局变量一样的时候。 */ /* 4: 在实例方法中修改值类型 如果你需要在特定的方法中修改结构体或者枚举的属性,你可以选择将这个方法异变 你可以选择在 func关键字前放一个 mutating关键字来使用这个行为: */ // 类型方法 关键字 class class func someTypeMethod() { print("类型方法") } }