Swift 5.0-typealias与associatedty

作者: FlyElephant | 来源:发表于2019-04-13 16:54 被阅读77次

Swift 中关键字typealias重命名与associatedtype关联对象,在实际开发中比较常见。

typealias

typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰。使用的语法也很简单,使用 typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为新的名字。

typealias类似于Objective-C中的typedef,简单的将block重命名如下:

typealias success = (_ data: String) -> Void
typealias fail = (_ error: String) -> Void

func fetchData(_ url: String, success: success, fail: fail) {
}

associatedtype

associatedtypen表示位置的数据类型,只是先定义一个名字,具体表示的类型要在最终使用的时候进行赋值。在定义协议时,可以用associatedtype声明一个或多个类型作为协议定义的一部分。

protocol NetworkRequest {
    associatedtype DataType
    func didReceiveData(_ data: DataType)
}

class ViewModel: NetworkRequest {
    
    typealias DataType = String
    
    func didReceiveData(_ data: DataType) {
        
    }
    
}

相关文章

  • Swift 5.0-typealias与associatedty

    Swift 中关键字typealias重命名与associatedtype关联对象,在实际开发中比较常见。 typ...

  • Swift 关键字(typealias、associatedTy

    typealias 使用typealias为常用数据类型起一个别名,一方面更容易通过别名理解该类型的用途,另一方面...

  • swift基础小结1

    swift基础小结 for 循环OC与Swift对比 While循环与downhill循环 OC与swift使用的...

  • swift5版本学习

    swift与OC区别:swift与OC1、Swift容易阅读,语法和文件结构简易化。2、Swift更易于维护,文件...

  • 学Swift挣美元01之Swift语言发展历史

    学Swift挣美元01之介绍与基础资源 本期重点 Swift历史 Swift基础资料 Swift的历史 Swift...

  • OC与swift的区别

    OC与Swift的区别一(文件结构) OC与Swift的区别一(常量、变量、运算符) OC与Swift的区别三(条...

  • Swift学习与实践

    azeqjz OpenStack: Swift学习与实践 Swift架构 OpenStack的Swift服务架构具...

  • Swift blog

    建议读一遍swift blog来了解OC与swift不同以及swift版本变动细节 OC id -> Swift ...

  • Swift面试题(2)

    Swift面试题(1)Swift面试题(2) Swift和Objective-C的联系 Swift与Objecti...

  • swift与OC混合式编程

    swift与OC混合式编程 swift在不断完善, 与OC并驾齐驱. swift与OC混合式编程是现阶段很多项目开...

网友评论

    本文标题:Swift 5.0-typealias与associatedty

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