1

引数を指定してセレクターを実行するにはどうすればよいですか? これは私のコードです:

SEL methods=NSSelectorFromString([arrayWithMethods objectAtIndex:i]);
[self performSelector:methods withObject:self afterDelay:MAN_SPEED*i];

セレクター メソッドに引数がある場合、どのように指定すればよいですか?

4

2 に答える 2

6

引数がゼロのセレクタの文字列は次のようになります。

arrayWithMethods = [NSArray arrayWithObjects:@"myMethod", ... nil]

パラメータが 1 つの場合は、メソッド名の後にコロンを追加して指定します。

arrayWithMethods = [NSArray arrayWithObjects:@"myMethod:", ... nil]

これで、myMethod に「self」が渡されます (それは「with オブジェクト」として渡しているためです。

于 2012-07-15T03:54:44.007 に答える
4

引数が1つしかない場合は、パラメーターを使用して渡すことができますwithObject:

複数の引数がある場合は、同じパラメーターで渡すためにラッパーオブジェクトが必要になります。

于 2012-07-15T03:44:11.637 に答える