码迷,mamicode.com
首页 > 编程语言 > 详细

swift protocol(协议) associatedtype关联类型

时间:2018-05-23 22:05:03      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:-objc   更新   comm   int   table   有用   something   模型   protoc   

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

标签:-objc   更新   comm   int   table   有用   something   模型   protoc   

原文地址:https://www.cnblogs.com/ruixin-jia/p/9079449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!