私はゲームセンターで作業していて、セットアップしたGK機能にアクセスするためのシングルトンクラスが必要でしたが、次に、デリゲートを必要とするいくつかのメソッドを導入しました。明らかに、デリゲートはシングルトンでは実際には正しく機能しませんが、このクラスにロードされたデータを一度ロードして、常にそこに存在させる必要があります。
データを常にそこに保持することを忘れているが、必要に応じてクラスをインスタンス化するという良い方法はありますか?
私はゲームセンターで作業していて、セットアップしたGK機能にアクセスするためのシングルトンクラスが必要でしたが、次に、デリゲートを必要とするいくつかのメソッドを導入しました。明らかに、デリゲートはシングルトンでは実際には正しく機能しませんが、このクラスにロードされたデータを一度ロードして、常にそこに存在させる必要があります。
データを常にそこに保持することを忘れているが、必要に応じてクラスをインスタンス化するという良い方法はありますか?
Yoyは「シングルトンクラス」と言います。つまり、このクラスにはクラスメソッドしかないということです。クラスオブジェクトはまだオブジェクトなので、それでも問題ありません。引き続き使用できます。そうは言っても、おそらく状態を維持する必要があります。各デリゲート呼び出しには、オブジェクトが送信者を識別できるようにするパラメーターが含まれます。
私がおそらく自分で行うことは、「初期化」メソッドでNSMutableDictionaryを作成し、デリゲートメソッドを送信する前にオブジェクトを登録し、登録時に別のmutableDictionaryを作成し、送信オブジェクトをキーとして最初のオブジェクトに保存することです(または他の一意の識別子)。
すべてのデリゲート呼び出しには送信者を含める必要があり、これを使用して、そのオブジェクトに関連付けられたディクショナリを取得できます。