2012-05-06 8 views
1

私はエラーインスタンスメソッドを実行し続けるセレクタが見つかりません...誰でもこのエラーをクリアするのに役立つことができますか?Objective-Cセレクタヘルプが必要

#import <Foundation/Foundation.h> 
#import "add.h" 

int main(int argc, const char * argv[]) 
{ 
    SEL mySelector; 

    id b = [[add alloc] init]; 

    mySelector = @selector(add2Num:); 

    [b performSelector: mySelector]; // here is where i am getting the error 

    [b release]; 

    return 0; 
} 

、その後add.mファイルのint事前にあなたの助けを

#import "add.h" 

@implementation add 

-(void)add2Num 
{ 
    num1 = 1; 
    num2 = 2; 
    iResult = num1+ num2; 
} 

@end 

感謝。

答えて

3

@selector(add2Num)の代わりに@selector(add2Num:)と入力した可能性があります。

訂正された構文でセレクタ名の末尾に「:」がないことに注意してください。 ":"を含めると、セレクタが引数を取るが、メソッドaddNumは含まれていないことを示します。

+1

+1さらに、 ':'はパラメータの指示であるだけでなく、メソッド名の一部です。ありがとう。 – MByD

0

これは単純なタイプミスです。私はあなたがperformSelector:を意味し、preformSelector:を意味しないと信じています。 'r'と 'e'を逆にする。

+0

あなたが何かを時々見つめることができて、答えがとても分かりやすいのは面白いです。 – user1377548

+0

私たちはすべてそこにいた;) –

+0

これが正解であれば、答えを受け入れると感謝します。 –