メッセージを送信する必要がある目的の C クラスにポインターがあります。ポインターは何でもかまいません。そのため、メッセージを送信する前に、ポインターがメッセージに応答することを確認する必要があります。チェックを行うために使用している関数は次のとおりです。
int delegatePreparedForSelector(id delegate, SEL aSelector) {
if (delegate
&& [delegate isKindOfClass:[NSObject class]]
&& [delegate respondsToSelector:aSelector]) {
return YES;
}
return NO;
}
問題は、デリゲート ポインターが である場合があり、メッセージを送信struct objc-object *
するとEXC_BAD_ACCESS
不正なアクセス エラーが発生することです。isKindOfClass
代理人が私のメッセージに応答するかどうかを判断するために使用する必要がある、より良いテストはありますか?