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。
相關文章
相關標籤/搜索