conformsToProtocol:
レシーバクラスがプロトコルと一致するかを返します
+(Class)conformsToProtocol:(protocol *)aProtocol:
解説
レシーバクラスがプロトコル(aProtocol)と一致するかを返します。
一致するならYESを返します。そうでなければNOを返します。
クラスは、そのクラスがプロトコルを採用するか、プロトコルが採用されているクラスを継承している場合に「適合している」と判断されます。
プロトコルを採用するにはインターフェース宣言の後に<>で囲んで指定します。
例えばMyObjectでFirstProtocolとSecondProtocolプロトコルを採用する場合は下記のように記述します。
@interface MyObject : NSObject
プロトコルを指定する方法として@Protocol()ディレクティブを使う方法もあります。
BOOL isConform = [MyObject conformsToProtocol:@Protocol(ThirdProtocol)
返り値
( Class )
クラス
引数
( protocol * )aProtocol
プロトコル
フレームワーク
Foundation
クラス
NSObject
Class Methods
使用可能
10.0
参照
- conformsToProtocol:
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { if ([[NSColorPicker class] conformsToProtocol:@protocol(NSColorPickingDefault)]){ [myOutlet setTitle:@"YES"]; }else{ [myOutlet setTitle:@"NO"]; } } @end