AppSettingsController
いくつかのメソッドで名前が付けられたシングルトン クラスがあります。
一般的に、私はそれらを次のように呼びます。
[[AppSettingsController sharedInstance] myMethod];
そして、それは問題ありません。
インスタンスの作成方法は次のとおりです。
+ (id)sharedInstance
{
static AppSettingsController *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
しかし、私は別のことを検討しています。ループで myMethod を呼び出す必要があるとしましょう。このシングルトンのローカル変数を作成し、この変数でこのメソッドを呼び出すほうがよいのではないでしょうか?
AppSettingsController *mySharedInstance = [AppSettingsController sharedInstance];
loop
[mySharedInstance myMethod];
...直接呼び出す代わりに?
loop
[[AppSettingsController sharedInstance] myMethod];
どちらの方法がより効率的ですか、または両方とも等しいですか?