associatedtype关联类型

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了associatedtype关联类型相关的知识,希望对你有一定的参考价值。

associatedtype关联类型

 
定义一个协议时,有的时候声明一个或多个关联类型作为协议定义的一部分将会非常有用。关联类型为协议中的某个类型提供了一个占位名(或者说别名),其代表的实际类型在协议被采纳时才会被指定。你可以通过 associatedtype 关键字来指定关联类型。比如使用协议声明更新cell的方法:

 

 
[objc] view plain copy
  1. //模型  
  2. struct Model {  
  3.     let age: Int  
  4. }  
  5.   
  6. //协议,使用关联类型  
  7. protocol TableViewCell {  
  8.     associatedtype T  
  9.     func updateCell(_ data: T)  
  10. }  
  11.   
  12. //遵守TableViewCell  
  13. class MyTableViewCell: UITableViewCell, TableViewCell {  
  14.     typealias T = Model  
  15.     func updateCell(_ data: Model) {  
  16.         // do something ...  
  17.     }  
  18. }  


 

以上是关于associatedtype关联类型的主要内容,如果未能解决你的问题,请参考以下文章

swift-associatedtype关键字

类图和对象图教程-类(Class)接口(Interface)协作(collaboration)依赖关系(Dependency)泛化关系(Generalization)关联关系(Associa

类图和对象图教程-类(Class)接口(Interface)协作(collaboration)依赖关系(Dependency)泛化关系(Generalization)关联关系(Associa

Swift 协议扩展中的“关联类型”难以理解

swift3.0:associatedtype

Swift typealias associatedType