Objective-C回撥機制(delegate, protocol)
阿新 • • 發佈:2019-01-09
轉載:http://blog.sina.com.cn/s/blog_6545eb460100pyjy.html
Objective-C是隻支援單一繼承的,當需要建立一個類能表現多個類的特性時,需要採用與Java中很類似的稱為協議(Protocol)的方法。如同一個類a,一個類b,兩個類簽訂一個協議p,該p協議規定一個方法c,c的實現在b中,當a需要呼叫實現c時,並不呼叫類b,而是宣告一個id<p> delegate, 如同a掏出一份協議交給代理商,然後delegate會去找到b,讓其完成c這件事。這樣的呼叫更加乾淨,下面用一個例子具體說明一下:
protocol用法: @interface ClassA :ClassB<protocol1, protocol2>