協(xié)議(
Protocol
)鸦致,是一種類型,故涣楷,可以使用協(xié)議分唾,定義一些變量,常量等狮斗。
使用的好處是绽乔,方便代碼瘦身。
有情況如下:
- 協(xié)議
protocolA
碳褒,有個(gè)方法funcA
折砸,這個(gè)方法用來(lái)實(shí)現(xiàn)功能roleA
,roleA
能獲得關(guān)鍵的數(shù)據(jù)dataA
沙峻,dataA
是從網(wǎng)絡(luò)實(shí)時(shí)獲得的 - 類
classB
睦授,遵守protocolA
,并實(shí)現(xiàn)了funcA
摔寨,也就是實(shí)現(xiàn)了功能roleA
去枷,擁有了數(shù)據(jù)dataA
- 這時(shí),來(lái)了個(gè)
classC
,也需要數(shù)據(jù)dataA
删顶,所以疗隶,他也必須遵守protocolA
,然后去實(shí)現(xiàn)funcA
- 以后又來(lái)了
classD翼闹,E,F(xiàn)
...都需要數(shù)據(jù)dataA
蒋纬,那么都需要做與classC
相同的工作猎荠,很是麻煩
為了減少不必要的工作,可以在 classD蜀备,E关摇,F(xiàn)
...中,定義一個(gè)變量 var AA :protocolA
; 然后給它賦值:AA = classB()
碾阁;然后在 類 C输虱,D,E脂凶,F(xiàn)...中使用功能 roleA
時(shí)宪睹,直接用變量 AA
調(diào)用 funcA
,使用里面的動(dòng)態(tài)數(shù)據(jù)就可以了蚕钦,很是方便亭病。