4

B という名前のクラスは A から継承します (B : A)

[[B class] isKindOfClass:[A class]]

いいえを返します

やっている

[[B new] isKindOfClass:[A class]]

はいを返します

左の呼び出し元はインスタンスでなければなりませんが、 Class で同じことを行うにはどうすればよいでしょうか?

4

2 に答える 2

20
- (BOOL)isKindOfClass:(Class)aClass

確かにインスタンスメソッド(-に注意)であり、クラスでは機能しません

+ (BOOL)isSubclassOfClass:(Class)aClass

はクラス メソッド (+ に注意) であり、それが探しているものです。

ちょっと待って !NSObject Class Referenceは、「クラスがメッセージの受信者である場合は、その名前だけでクラスを参照してください。それ以外の場合はすべて [...] クラス メソッドを使用してください。」</p>

したがって、次を使用します。

[B isSubclassOfClass:[A class]] 
于 2013-07-26T21:24:39.470 に答える