シングルトンクラスでintオブジェクト変数を作成しようとしています。この私にObjCバージョン:Swift:シングルトンクラスのオブジェクト変数の初期化
+(MyClass*) single
{
static MyClass *shareObject = nil;
static dispatch_once_t onceToken;
dispatch_once (&onceToken, ^{
shareObject = [[self alloc] init];
shareObject.myArray = [NSMutableArray new];
});
return shareObject;
}
スウィフトバージョン:私はmyarrayのが一回のinitさを知るにObjCバージョンの場合
class MyClass {
static let sharedInstance = MyClass()
var myArray = Array<Any>()
}
。しかし、スウィフト版の場合は、皆さんに私の質問。 myArray変数は一度initになりますか?
'static'(またはグローバル)ストアド変数のアクセサは、実際には現在、Appleプラットフォームのフードの下で' dispatch_once'を使用しています(http://stackoverflow.com/q/43374222/2976878を参照)。 ) - Obj-C '+ single'メソッドと直接同等のものにします。 – Hamish