ARCを使用してシングルトンを作成する場合は、
this is the answer I seeです。ブロックを使用せずにARCを使用してシングルトンを作成する
このコードをブロックを使用せずに同様のものに変換する方法はありますか?
+ (MyClass *)sharedInstance
{
static MyClass *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[MyClass alloc] init];
// Do any other initialisation stuff here
});
return sharedInstance;
}
EDIT:
私はこのアプローチを参照してください。
static MyClass *sharedMyClassInstance = nil;
+(MyClass *) sharedMyClass
{
@synchronized(self) {
if (sharedMyClassInstance == nil) {
sharedMyClassInstance = [[self alloc] init];
}
return sharedMyClassInstance;
}
}
これは、複数のを作成したオブジェクトを防ぐことができますか?
iOS 3.xをサポートしたいので、非ブロックコードを書いてみたいです。 –
iOS 3はARCをサポートしていません。 – Caleb
そうですね。 http://stackoverflow.com/questions/9646607/arc-works-for-ios-3-x-what –