メニューをクリックすると、次のブロックが呼び出されます。目的cブロックをセレクタに変換
CCMenuItem* iconItem = [CCMenuItemSprite itemFromNormalSprite:icon
selectedSprite:icon2
block:^(id sender) {
[self buttonClickedWithUnlocked:unlocked world:world];
}];
と私はブロック内のメソッドにパラメータを渡すことができます。
しかし、今私はobj-cをC++に翻訳しています。ブロックはサポートされていません。ので、それを行うには、他の方法がある (セレクタによってサポートされていない)
CCMenuItem* iconItem =
CCMenuItemSprite::itemFromNormalSprite(icon, icon2, this,
menu_selector(SomeClass::buttonClickedWithUnlockedWorld(unlocked, w)));
しかし、私は、パラメータを渡すことはできませんよ。私のようなセレクタを使用する必要がありますか?
CCMenuItem* iconItem = [CCMenuItemSprite itemFromNormalSprite:icon
selectedSprite:icon2
target: self
selector: @selector(buttonClickedWithUnlocked)
}];
が、それでも、私はどちらか@selectorに任意のパラメータを渡すことができません:あなたは、C++を使用しない場合には
は、セレクタののObj-Cのバージョンがあります。 他の方法はありますか?
メソッドはどのように渡されますか?署名やコードの例を提供できますか?私はちょうど整数とboolを渡すことができますか? – OMGPOP
@OMGPOP私は自分の答えを編集しました。 –