swift protocol(协议) associatedtype关联类型

Posted ruixin_jia

tags:

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

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

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

swift中的protocol和OC中protocol的区别

Swift之深入解析协议Protocol的底层原理

swift protocol(协议) associatedtype关联类型

swift:使用协议protocol设置颜色,UIImage的切圆角ImageWithCornerRadius

Swift之协议

Swift中协议的简单介绍