質問
私は、このようなNSXMLNodeとして、クラスに分類メソッドを追加する場合:
@interface NSXMLNode (mycat)
- (void)myFunc;
@end
このカテゴリーの方法はまた、このようなNSXMLElementやNSXMLDocumentなどNSXMLNodeのサブクラスで使用できますか?それとも私は、コードの重複につながる、各クラスのカテゴリとしてメソッドを定義して実装する必要はありますか?
解決
これは、サブクラスで利用可能です!
他のヒント
雄二が言ったようです。
これは、サブクラスで利用できるようになります
しかし、あなたはそれがパブリックまたはプライベートのいずれかの方法、と競合することに危険がないよう、あなたの方法の前に付ける必要があります。
すなわち:ます。
-(void) mycat_myMethod;
はい、それは利用できるようになり、私ものコードでそれをチェックし、ここにある:
#import <Foundation/Foundation.h>
@interface Cat1 : NSObject {
}
@end
@implementation Cat1
- (void) simpleMethod
{
NSLog(@"Simple Method");
}
@end
@interface Cat1 (Cat2)
- (void) addingMoreMethods;
@end
@implementation Cat1 (Cat2)
- (void) addingMoreMethods
{
NSLog(@"Another Method");
}
@end
@interface MYClass : Cat1
@end
@implementation MYClass
@end
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
MYClass *myclass = [[MYClass alloc] init];
[myclass addingMoreMethods];
[myclass release];
[pool drain];
return 0;
}
出力されます:
Another Method
所属していません StackOverflow