今天來以最簡單的方式介紹一下protocol的概念
protocols簡單來說就是規定,protocols裡面就是寫要遵守的事情。
簡單來說假設你現在要當一間公司的iOS工程師,你就需要遵守那間公司的iOS工程師的protocols,你需要有名字、員工編號(property),也要學會swift等技能(methods)。property簡單來說就是常數變數,方法簡單來說就是function。
下方用程式碼來表示
第一步先定義iOS工程師協議(protocol)
protocol iOSEngineer {
}
然後新增名字、英文名字、員工編號,在property後面加上{ get set }來表示是可讀寫的,只能讀的話就是只寫{ get }來表示。
protocol iOSEngineer {
var name: String { get }
var englishName: { get set }
var id: String { get }
}
然後再新增需要的技能(方法methods),
protocol iOSEngineer {
var name: String { get }
var englishName: String { get set }
var id: String { get }
//以下都是需要的技能,也就是方法(methods)
func swift()
func UIkit()
func autoLayout()
}
class冒號後面寫上protocol的名稱就是表示要遵守裡面的協議,所以class裡面都會有protocol的屬性跟方法。那這個是繼承的概念
以下是程式碼範例
class ViewController: iOSEngineer { //class裡面一定都要有protocols裡的東西
var name: String = "王一二"
var englishName: String = "ryan"
var id: String = "10345"
func swift(){
print("我會swift技能")
}
func UIkit(){
print("我會UIkit技能")
}
func autoLayout(){
print("我會autolayout技能")
}
}
你也可以一次繼承很多個protocols,假設你是iOS工程師,也會寫android的話,可以當android工程師,那你就可以一次繼承兩個協議
protocol iOSEngineer, androidEngineer {
}