-1

よし、みんな…うまくいけば、これは別の急ごしらえになるでしょう。

UIImageView を拡張し、NSObject を拡張するクラス MonsterView があります。

クラス MonsterView のオブジェクトを含み、次のように見える myMonster という名前の MonsterView ポインターを宣言しました...

MonsterView* myMonster = [monsterArray objectAtIndex:0];

これで、ポインター myMonster はクラス MonsterView のオブジェクトを指します。

私は次のような方法を持っています:

-(void) takeTurnHostile:(MonsterView*) monster
{
     // Do Stuff
}

performSelector を使用してこのメ​​ソッドを呼び出したい...次のように:

[self performSelector:@selector(takeTurnHostile) withObject:myMonster afterDelay:0.1];

血まみれのマシンには、そのようなナンセンスはありません。善良で神聖なすべての名において、なぜ私はこれを行うことができないのですか?

さらに重要なことは、これをどのように -COULD- するか?

みんなありがとう!Jロック

4

4 に答える 4

5
@selector(takeTurnHostile)

する必要があります

@selector(takeTurnHostile:)

セレクターは引数を取り、コロンはセレクター名の一部であるためです。

于 2013-02-03T22:34:56.333 に答える
1

H2CO3が言ったように、コロンを提供する必要があります。

takeTurnHostile:

コロンは、呼び出しているメソッドに1つのパラメーターがあることを示します。現在、コロンがない場合は、メソッドを実行すると言っています。

-(void) takeTurnHostile
{
}
于 2013-02-03T22:46:36.697 に答える
1

セレクターにコロンがありません...

[self performSelector:@selector(takeTurnHostile:) withObject:myMonster afterDelay:0.1];
于 2013-02-03T22:35:01.660 に答える
1

である必要があります@selector(takeTurnHostile:)。コロンを忘れている

于 2013-02-03T22:35:08.073 に答える