macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

conformsToProtocol:

レシーバクラスがプロトコルと一致するかを返します
+(Class)conformsToProtocol:(protocol *)aProtocol:

解説

レシーバクラスがプロトコル(aProtocol)と一致するかを返します。
一致するならYESを返します。そうでなければNOを返します。

クラスは、そのクラスがプロトコルを採用するか、プロトコルが採用されているクラスを継承している場合に「適合している」と判断されます。
プロトコルを採用するにはインターフェース宣言の後に<>で囲んで指定します。
例えばMyObjectでFirstProtocolとSecondProtocolプロトコルを採用する場合は下記のように記述します。
@interface MyObject : NSObject

プロトコルを指定する方法として@Protocol()ディレクティブを使う方法もあります。
BOOL isConform = [MyObject conformsToProtocol:@Protocol(ThirdProtocol)

返り値

( Class )

クラス

引数

( protocol * )aProtocol

プロトコル

クラス

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