2011-12-24 3 views
0

私はカスタムViewControllerクラスとその多くのインスタンスを持っています。それらはすべて同じモデル(別のカスタムクラス、 1つのインスタンスのみ)。 ViewControllerの新しいインスタンスに沿ってモデルへのポインタを渡すことは実用的ではないようです。特にモデルが遅れてインスタンス化されているためです。これを行う最もクリーンで、最も慣用的なARC方法は何ですか?目的C:クラスのすべてのオブジェクトに別のクラスのシングルトンへのポインタを渡す

答えて

3

通常、ObjCのシングルトンには、単一インスタンスのアクセサとして機能するクラスメソッドがあります。大会はdefaultXまたはsharedXのいずれかと呼ばれます。あなたのモデルクラスが本当にシングルトンであるなら、あなたはすでにそのようなメソッドを持っているはずです。クラス名はグローバルに使用できるため、プログラム内の任意の場所にアクセスするために必要なのは[MyModelClass sharedModel]です。

+0

私はシングルトンデザインをまだコミットしていません(それは不明な場合は申し訳ありません)ので、(1)私が概説したニーズを考えれば良いアイデアです、(2) /cocoasamurai.blogspot.com/2011/04/singletons-your-doing-them-wrong.html)正しい方法、特にARCを使用してそれをプログラムしますか? – mgold

+0

1)それのように聞こえる - 任意のビューコントローラがモデルの同じインスタンスにアクセスする必要がある場合、シングルトンであることがほぼ必要です。 2)ああ、少年、これは、私たちがココアで得たような聖戦に近いところにあるそれらの分野の一つです。 [あなたのシングルトンはどのように見えるのですか?](http://stackoverflow.com/q/145154/)、[Peter Hoseyのブログ](http://boredzo.org/blog/archives/2009-06-17/doing)を参照してください。 -it-wrong)、そしてもちろん[Appleのドキュメント](http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/ TP40002974-CH4-SW32)。 –

+0

しかし、ココアサムライのポストは、細かい 'sharedX'の実装ですが、通常、完全に機能するシングルトンを作るためにはもっと多くのことがあります。 –

関連する問題