Objective-C中使用方法名调用方法

@interface FooClass : NSObject spa

@end .net


@implementation FooClass

- (void)doIt{
     NSLog(@"doIt");
}


----------------

FooClass *foo = [[FooClass alloc] init];

NSString *callStr = @"doIt"; orm

SEL selector = NSSelectorFromString(callStr); get

if([foo respondsToSelector:selector]){
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"

    [foo performSelector:selector]; it

}

注意:respondsToSelector:方法用于判断是否已实现该方法。若是FooClass没实现(或只是声明)doIt方法,直接执行performSelector:将会致使Crash。
相关文章
相关标签/搜索