Objective-Cで使用しているため、これを求めていますが、他のすべての言語に適用される可能性があります。
-Obj-C プロパティへの単一の参照を持つことは悪いことですか?
-すべてのメソッドで共有インスタンスを呼び出した方がよいでしょうか?
より正確:私は使用して呼び出すことができるシングルトンクラスを持っています[MySingleton sharedInstance];
別のクラスでそのシングルトンの値が 50 回必要なMySecondClass
ので、Obj-C プロパティを作成しました
@property (nonatomic, strong) MySingleton *mySingletonProperty;
MySecondClass
呼び出して、そのプロパティを一度遅延して初期化します
if(!self.mySingletonProperty)
{
self.mySingletonProperty = [MySingleton sharedInstance];
}
私の友人は、これは悪い考えであり、シングルトンを使用してプロパティをインスタンス化しない方がよいと私に言いました。[MySingleton sharedInstance];
正しい方法は、すべてのメソッドを呼び出しMySecondClass
てローカル変数に割り当てることです。
あれは正しいですか?なぜ?スレッドの安全性は問題ではありません。
(ここで一般的にシングルトンを使用するのが悪い考えであるかどうかについて議論しないでください - ありがとう:-)