OC 協議 概念:定義了一個介面,其他類負責來實現這些介面。如果你的類實現了一個協議的方法時,則說該類遵循此協議。 非正式協議:非正式協議雖名為協議,但實際上是掛於NSObject上的未實現分類(Unimplemented Category)的一種稱謂。 協議的格式: 協議中定義的方法還有兩個修飾符 ...
OC 協議
概念:定義了一個介面,其他類負責來實現這些介面。如果你的類實現了一個協議的方法時,則說該類遵循此協議。
非正式協議:非正式協議雖名為協議,但實際上是掛於NSObject上的未實現分類(Unimplemented Category)的一種稱謂。
協議的格式:
@protocol 協議名 <父協議>
定義方法
@end
協議中定義的方法還有兩個修飾符:
- @required:這個表示這個方法是其他類必須實現的,也是預設的值
- @optional:這個表示這個方法對於其他類實現是可選的
協議可以和id一起使用
- id<協議名稱> 定義出來的指針,只能指向實現這個協議類的實例對象
conformsToProtocol
- 使用可以使用 conformsToProtocol: 來檢測一個方法是否遵循某協議如:
id test;
[test conformsToProtocol:@protocol(mDelegate)];
協議不引用任何類它是無類型的,一個類可以同時遵守多個協議。一個協議可以被多個類使用。