respondsToSelector判断是否实现了某方法

来源:互联网 发布:linux top命令参数 编辑:程序博客网 时间:2024/05/29 14:42

Tester.h

复制代码
#import <Foundation/Foundation.h>@interface Tester : NSObject { }-(void) test:(NSString*) msg;-(void) notImp;@end
复制代码
Tester.m
复制代码
#import "Tester.h"@implementation Tester-(void) test:(NSString*) msg{ NSLog(@"%@", msg);}@end
复制代码
注意:没有实现notImp方法

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;}
复制代码

原创粉丝点击