定義:SEL ( Selector ) 的操作範例如下:
@interface classA :NSObject{
@private
int val;
}
-(void) initVal: (int) newVal;
-(void) printVal;
@end
實作內容:
@implementation classA
-(void) initVal:(int)newVal
{
val =newVal;
}
-(void) printVal
{
NSLog(@"val=%d", val);
}
@end
id ppp =[classA new];其中的 printPP1, printPP2 皆指向 classA 的 printVal 函數, 因此 SEL 的產生方式可以有 @selector 或是 NSSelectorFromString 兩種。
[ppp initVal:99];
SEL printPP1 =@selector(printVal);
SEL printPP2 =NSSelectorFromString(@"printVal");
if ([ppp respondsToSelector:printPP1])
[ppp performSelector:printPP1];
if ([ppp respondsToSelector:printPP2])
[ppp performSelector:printPP2];
[ppp release];
執行的結果為:
val=99
val=99
0 意見 :
張貼留言