現在の状態を適切な変数に格納することによって、異なるゲーム状態を切り替えることができるgamestate技法を実装しようとするのが難しいです。Objective Cの仮想ボイドと同等のもの - gamestate技法での使用
現在の状態に設定されているNSObject * currentStateを作成しましたが、[currentStateメソッド]にメッセージを送信しようとすると、「応答しない可能性があります」というエラーメッセージが表示されます。 (NSObject型のため)。
また、Gamestateというスーパークラステンプレートを作成してみました。また、gamestateを継承しながら個々のgamestatesを作成しました。しかし、gamestateオブジェクト内にメソッドが実装されていないという事実に関する別のエラーメッセージがあります(これは、サブオブジェクトにメソッドを実装したいだけです)。
プロトコルが私に役立つかどうかはわかりません。エラーメッセージなしでgamestateを実装する方法に関する提案はありますか?事前に
おかげで;)
おかげで、IDを追加するとエラーメッセージが削除されました。最初に* currentStateから '*'を削除するのを忘れてしまったのですが、なぜIDがポインタ型を受け入れないのかを知る必要があります。もう一度ありがとう;) – eJm
'id'はポインタなので、' * 'は必要ありません。単に 'id'を' NSObject * 'のように考えるがエラーチェックは少ない。 –