1. 程式人生 > >iOS-Swift協議中關聯類型的使用

iOS-Swift協議中關聯類型的使用

ios-swift swift font 協議 sso protoc associate toc ron

Associated Type :關聯類型

有時候會遇到這樣的需求,繼承自某一協議的類中需要保證代理方法處理的參數類型保持一致,這就需要使用關聯類型來做到這一點

協議聲明:

protocol ATypeDelegate {

associatedtype T

func printContent( ct : T)

func colum( ct : T)

}

協議使用:

class ATypeClass: ATypeDelegate {

typealias T = Int

func printContent(ct: Int) {

print("Int",#function)

}

func colum(ct: Int) {

print("Int",#function)

}

}

ATypeClass 繼承自ATypeDelegate,必須在ATypeClass類中定義 T 的具體類型才能使用

iOS-Swift協議中關聯類型的使用