协议(
Protocol
),是一种类型,故,可以使用协议,定义一些变量,常量等。
使用的好处是,方便代码瘦身。
有情况如下:
- 协议
protocolA
,有个方法funcA
,这个方法用来实现功能roleA
,roleA
能获得关键的数据dataA
,dataA
是从网络实时获得的 - 类
classB
,遵守protocolA
,并实现了funcA
,也就是实现了功能roleA
,拥有了数据dataA
- 这时,来了个
classC
,也需要数据dataA
,所以,他也必须遵守protocolA
,然后去实现funcA
- 以后又来了
classD,E,F
...都需要数据dataA
,那么都需要做与classC
相同的工作,很是麻烦
为了减少不必要的工作,可以在 classD,E,F
...中,定义一个变量 var AA :protocolA
; 然后给它赋值:AA = classB()
;然后在 类 C,D,E,F...中使用功能 roleA
时,直接用变量 AA
调用 funcA
,使用里面的动态数据就可以了,很是方便。