5

@selector(mySelector)私は疑問に思っていました:コロンなしでセレクター名を書くことと、コロンを使って書くことの違いは何@selector(mySelector:)ですか?

次のように:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc]initWith... 
                                                       target:self
                                                       action:@selector(addAction:)];

コロンのない例を見つけることはできませんが、すでにそれらのいくつかを見たことがあると確信しています。

4

2 に答える 2

14

メソッドが引数を取る場合にのみ、メソッド名の後にコロンが必要です。

関数パラメータなし:

-(void)addAction {}

// Use ...@selector(addAction)...

パラメータがあります:

-(void)addAction:(id)info {}

// Use ...@selector(addAction:)...
于 2011-09-05T16:05:42.887 に答える
1

場合によっては、コロンの数によって引数が決まることがあります。たとえば、コロンを 1 つ含むアクション メソッドを渡すとsender、最初の引数として が送信されます。2 つのコロンを含むセレクターを渡すと、同様に取得eventされます。コロンがないということは、明らかに、引数がないことを意味します。

于 2011-09-05T16:10:17.950 に答える