Swift基礎--方法

Swift基礎--方法

swift中方法分為實例方法和靜態(tài)方法,方法時于默寫特定類型相關聯(lián)的函數(shù).類,結構體,枚舉都可以定義實例方法,也可以定義靜態(tài)方法.

一,實例方法

實例方法: 給特定類型實例封裝的具體功能函數(shù). 實例方法使用與類,結構體,枚舉

1.1,使用類中定義的實例方法

首先在勒種定義方法,然后通過創(chuàng)建類的實例,是哪個"實例.方法名"即可調(diào)用,如:

class Player {
    func run() {
        print(" run.........")
    }
}

let player = Player()
player.run()
out:
run.........

1.2,使用結構體中定義的實例方法

首先在結構體中定義方法,要在定義的方法前添加關鍵字"mutating"來聲明這個方法是"變異方法",如果在此方法中還要釣友結構體中的屬性,則必須在調(diào)用屬性前添加"self."來證明屬性來源于此結構體.然后通過創(chuàng)建類的實例,使用"實例.方法名"進行調(diào)用,如:

struct Point {
    var x:CGFloat = 0, y: CGFloat = 0
    mutating func safeZone(x: CGFloat, y: CGFloat) {
        self.x = x
        self.y = y
        print("x:\(x), y:\(y)")
    }
}

var point = Point()
point.safeZone(x: 100, y: 100)
out:
x:100.0, y:100.0

1.3 使用枚舉中定義的實例方法

枚舉中定義的實例方法和結構體一樣,要在定義的方法前添加"mutating"關鍵字來聲明這個方法時"變異方法",如果在此方法中還要調(diào)用枚舉中的匹配枚舉值,則必須使用"self"來證明匹配枚舉值來源于此枚舉,然后通過創(chuàng)建枚舉的實例來調(diào)用方法,如:

enum Duration {
    case east,south,west,north
    mutating func getDuration() {
        print("duration:\(self)")
        switch self {
        case .east:
            self = .west
        case .south:
            self = .north
        case .west:
            self = .east
        case .north:
            self = .south
        }
         print("對立的方向:\(self)")
    }
}

var duration = Duration.east
duration.getDuration()
out:
對立的方向:west

二,靜態(tài)方法

靜態(tài)方法: 不用創(chuàng)建特定類型的實例就能調(diào)用的具體功能函數(shù)
靜態(tài)方法適用于類,結構體

2.1 使用類中定義的靜態(tài)方法

首先在勒種定義方法,通過在方法名前添加關鍵字"class" 或"static",然后使用"類名.方法名"
即可調(diào)用,如果方法中包含調(diào)用屬性,此屬性必須是靜態(tài)屬性(靜態(tài)屬性也是在普通屬性前面添加關鍵字 "static"),如:

class People {
    static var name: String = "kobe"
    static func getName() {
        print("name:\(name)")
    }
}

People.getName()
out:
name:kobe

2.2 使用街骨頭中定義的靜態(tài)方法

通過在方法名前添加關鍵字"static",然后使用"結構體.方法名"即可調(diào)用,如果方法中包含調(diào)用屬性,那么此屬性必須是靜態(tài)屬性(靜態(tài)屬性也是在普通屬性前面添加關鍵字 "static"),如:

struct Z {

    static var z: CGFloat = 0
    static func getZ() {
        print("z:\(z)")
    }
}
Z.getZ()
out:
z:0
## hi 各位大佬,如果您喜歡我的文章,可以在以下平臺關注我
[個人網(wǎng)站](https://shunyangsky.com)

微博:[順揚sky](https://weibo.com/2445151355/profile?topnav=1&wvr=6&is_all=1) 

簡書:[順揚sky](http://www.itdecent.cn/u/163fccb10ca5)

掘金:[順揚sky](https://juejin.im/user/59a67546518825241e223768)

[CSDN博客](https://me.csdn.net/u011137073)
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,144評論 2 9
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 今晚7點半正在喜馬拉雅練習錄音的時候,手機叮咚一聲收到了原創(chuàng)邀請,那一刻我忍住激動匆匆錄完,趕緊開電腦申請開通。 ...
    堅持行動家安小小閱讀 538評論 10 5
  • 最近表侄女發(fā)消息給我,說自己很苦惱,很抑郁。 確實,她現(xiàn)在的狀況很糟糕,當初聽家長的建議,報考了護士專業(yè),現(xiàn)在即將...
    空溆YH閱讀 176評論 0 1
  • 在那甜瓜成熟的季節(jié)一百六十九,掃描二維碼了解小說更多細節(jié):等一覺醒來,劉曉安已經(jīng)睡到第二天的晌午了,昨天和李宏武喝...
    思想聚焦的原創(chuàng)閱讀 342評論 0 6

友情鏈接更多精彩內(nèi)容