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("类型方法")
    }

}

 

posted on 2023-03-06 19:44  风zk  阅读(24)  评论(0编辑  收藏  举报

导航