通过SEL类型分配选择器?

时间:2010-06-07 15:07:42

标签: iphone objective-c cocoa-touch

我刚刚在在线教程中发现了以下内容。它显示001作为分配选择器的方法,但我无法使其工作。我是否正确地认为001不对,002是正确的方法,或者我是否对001做错了什么?

// 001
SEL mySel = [self something];

// 002  
SEL mySel = @selector(something);

-(void)something {
    NSLog(@"YAY");
}

加里

2 个答案:

答案 0 :(得分:6)

这不一定是错误。正如所指出的,001是调用方法的语法。也就是说,方法可以很好地返回一个选择器,所以只有当self上的某些东西返回一个SEL时,001才有效。

你对-something的定义不然,所以在这方面001如果是他们定义的东西,那么教程就是错误。

答案 1 :(得分:1)

001是调用某事物的语法(向自己发送信息)。
002分配给SEL对象是正确的。

在我的教程中看起来像是一个错误。