B という名前のクラスは A から継承します (B : A)
[[B class] isKindOfClass:[A class]]
いいえを返します
やっている
[[B new] isKindOfClass:[A class]]
はいを返します
左の呼び出し元はインスタンスでなければなりませんが、 Class で同じことを行うにはどうすればよいでしょうか?
B という名前のクラスは A から継承します (B : A)
[[B class] isKindOfClass:[A class]]
いいえを返します
やっている
[[B new] isKindOfClass:[A class]]
はいを返します
左の呼び出し元はインスタンスでなければなりませんが、 Class で同じことを行うにはどうすればよいでしょうか?
- (BOOL)isKindOfClass:(Class)aClass
確かにインスタンスメソッド(-に注意)であり、クラスでは機能しません
+ (BOOL)isSubclassOfClass:(Class)aClass
はクラス メソッド (+ に注意) であり、それが探しているものです。
ちょっと待って !NSObject Class Referenceは、「クラスがメッセージの受信者である場合は、その名前だけでクラスを参照してください。それ以外の場合はすべて [...] クラス メソッドを使用してください。」</p>
したがって、次を使用します。
[B isSubclassOfClass:[A class]]