協議protocol相關筆記

 1,@interface AddressBook: NSObject <NSCopy>如果你的類實現了多項協議,協議之間用逗號分開. 
 協議不引用任何類型,它是無類的.任何類都可以遵守Drawing協議. 
   
 2,可以使用ConformsToProtocal:方法檢查一個對象是否遵守某項協議. 
 例如有一個名爲currentObject的對象,並且想要查看它時候是遵循Drawing協議.可以向他放鬆繪圖消息 
 id currentObjec; 
 if([currentObjec : ConformsToProtocal: @protoco (Drawing) : == YES]){ 
 ....//DO SOMETHING; 
 } 
   
 這裏使用一個專用的@protocol指令用於獲取一個協議名稱.併產生一個Protocol對象. 
   
 3,通常在類型名稱之後的<>中添加協議名稱,可以藉助編譯器來檢查變量的一致性.id <Drawing> currentObject; 
 這告訴編譯器currentObject將包含遵守Drawing協議的對象.如果這個對象遵循多個協議,可以用逗號隔開. 
   
4, 定義一項協議的時候,可以擴展現有的協議. 
 @protocol Drawwing3D <Drawing>說明Drawwing3D協議也使用了Drawing協議. 
   
 最後分類也可以採用一項協議 
 @interface Fraction (Stuff) <NSCopy,NSCoding> 
 此處Fraction類擁有一個Stuff分類,這個分類採用了NSCopy,NSCoding兩個協議. 

 和類名稱一樣,協議名稱也是唯一的. 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章