美文网首页
swift 关联类型

swift 关联类型

作者: leafu | 来源:发表于2021-04-13 11:54 被阅读0次

    关联类型

    定义一个协议时,声明一个或多个关联类型作为协议定义的一部分将会非常有用。关联类型为协议中的某个类型提供了一个占位符名称,其代表的实际类型在协议被遵循时才会被指定。关联类型通过 associatedtype 关键字来指定。关联类型只能在协议中定义。

    关联类型实践

    在协议中使用associatedtype来定义一个关联类型,在遵守协议的类中使用typealias指定关联类型,如下图:

    import UIKit
    protocol HelloProtocol {
    /****
    定义一个关联类型
    /
    associatedtype value
    /****
    定义一个使用方法
    /
    mutating func logValue(v: value)
    }
    class HelloClass: HelloProtocol {
    /

    指定关联类型是哪种类型,这里指定的是Int
    /
    typealias value = Int
    /

    实现协议中的方法
    /
    func logValue(v: Int) {
    /

    这里打印的类型是Int类型2
    /
    print(v)
    }
    }
    let hC = HelloClass()
    hC.logValue(v: 2)
    class NextClass: HelloProtocol {
    /
    *
    指定关联类型是哪种类型,这里指定的是Int
    /
    typealias value = String
    /
    *
    实现协议中的方法
    /
    func logValue(v: String) {
    /
    *
    这里打印的类型是String类型NextClass
    */
    print(v)
    }
    }
    let hN = NextClass()
    hN.logValue(v: "NextClass")

    相关文章

      网友评论

          本文标题:swift 关联类型

          本文链接:https://www.haomeiwen.com/subject/bfyqlltx.html