Я пытаюсь использовать singleton для Core Data. Раньше я был успешно в состоянии сделать это, создав класс CoreDataStack.h/.m
, вызвав метод стека по умолчанию ниже, и его соответствующий контекст управляемого объекта, в Objective-C, и работает очень хорошо:Создание синглета для моего базового стека по умолчанию в Swift
//RETURNS CoreDataStack
+ (instancetype)defaultStack {
static CoreDataStack *defaultStack;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
defaultStack = [[self alloc]init];
});
return defaultStack;
}
Однако, Я использую проект Swift, и я изо всех сил пытаюсь преобразовать его в новый синтаксис Swift. Как я могу это сделать? Это моя попытка до сих пор:
class func defaultStack() -> Self {
var defaultStack: CoreDataStack
var onceToken: dispatch_once_t = 0
dispatch_once(&onceToken) {
defaultStack = self.init()
}
return defaultStack
}
и мой Xcode генерируется ошибка: