Tester.h
#import
<
Foundation
/
Foundation.h
>
@interface Tester : NSObject {
}
- ( void ) test:(NSString * ) msg;
- ( void ) notImp;
@end
@interface Tester : NSObject {
}
- ( void ) test:(NSString * ) msg;
- ( void ) notImp;
@end
Tester.m
#import
"
Tester.h
"
@implementation Tester
- ( void ) test:(NSString * ) msg
{
NSLog( @" %@ " , msg);
}
@end
@implementation Tester
- ( void ) test:(NSString * ) msg
{
NSLog( @" %@ " , msg);
}
@end
main.m
#import
<
Foundation
/
Foundation.h
>
#import " Tester.h "
int main ( int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id tester = [[Tester alloc] init]; // 注意,这里使用id
SEL testSelector = @selector(test:);
SEL notImpSelector = @selector(notImp:);
if ([tester respondsToSelector:testSelector])
{
// tester.m中实现了test方法
[tester test: @" invoke test method " ];
}
if ([tester respondsToSelector:notImpSelector])
{
// test.m中没有实现此主就去
[tester notImp];
}
[pool drain];
return 0 ;
}
#import " Tester.h "
int main ( int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
id tester = [[Tester alloc] init]; // 注意,这里使用id
SEL testSelector = @selector(test:);
SEL notImpSelector = @selector(notImp:);
if ([tester respondsToSelector:testSelector])
{
// tester.m中实现了test方法
[tester test: @" invoke test method " ];
}
if ([tester respondsToSelector:notImpSelector])
{
// test.m中没有实现此主就去
[tester notImp];
}
[pool drain];
return 0 ;
}