我有類tructure這樣如何檢查類級方法是否在超類或Objective C中的子類中?
@interface SuperClass: NSObject
+ (void) someName;
@end
@interface MyClass: SuperClass
@end
有,我只想要撥打的someName
如果是MyClass
沒有MyClass
的超類方法的情況下。由於[[MyClass class] respondsToSelector:@selector(someName)]
如果一個類或它對選擇器的超級響應返回YES。如何知道MyClass不包含包含到someName
?
在我的應用程序中,我想打印包含從類方法返回的字符串鏈的字符串。
採取abve類結構作爲一個例子,我想打印的東西,如:
somenameFromSuper.somenameFromClass.someNameFromeSubClass.
如果一個類不列入實施someName
方法,我想'不可用的來取代它,爲前:
somenameFromSuper.notavailable.someNameFromeSubClass.
我不明白你的問題。你不是隻需要否定測試? – trojanfoe 2014-08-29 07:15:00
我更新了這個問題,希望它有道理 – jAckOdE 2014-08-29 07:19:00
爲什麼你不檢查'self'是否是'MyClass',即if([[self class] isKindOfClass:[MyClass class]])thats thats that I also also understand the問題正確。 – sbarow 2014-08-29 07:21:07