このコード行は完全に機能します
[self explodeBomb:obj];
しかし、それを次の行に置き換えると、NSInvalidArgument Exception が発生します。理由は認識されないセレクターです。
[self performSelector:@selector(explodeBomb) withObject:obj ];
メソッドの定義は次のとおりです。
-(void)explodeBomb:(SKNode *)bomb
私は知っています、これは私が根本的なことを理解していないに違いありません。しかし、問題なくメソッドを直接呼び出すことができるのに、なぜメソッドを使用しようとするperformSelector
と爆発するのでしょうか? レコードの obj は ID として定義されます。私は、explodeBomb の署名を変更して ID を取得し、それをメソッド内で明示的にキャストしようとしましたが、同じ例外がスローされました。誰が私が間違っているのか知っていますか?