Мне нужно преобразовать следующий код Objective-C в Swift.dispatch_once singleton in Swift
static RWBasicCell *sizingCell = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sizingCell = [self.tableView dequeueReusableCellWithIdentifier:@"CellIdentifier"];
});
Как это сделать? Я разобрался и узнал этот пример.
class SingletonC {
class var sharedInstance : SingletonC {
struct Static {
static var onceToken : dispatch_once_t = 0
static var instance : SingletonC? = nil
}
dispatch_once(&Static.onceToken) {
Static.instance = SingletonC()
}
return Static.instance!
}
}
Но это для возвращения одного класса.
Другие вопросы по этой теме было связано с общими одноэлементных экземплярами класса, в то время как речь идет о статической переменной в пределах функции. Инициализация в этом случае отличается от всегда доступного синглтона, поэтому другой вопрос кажется полезным. –