Получить имя класса в удобстве init Swift 3
Я пытаюсь реализовать свою собственную версиюconvenience init(context moc: NSManagedObjectContext)
, новый удобный инициализатор на NSManagedObject в iOS 10. Причина в том, что мне нужно сделать его совместимым с iOS 9.
Я придумал это:
convenience init(managedObjectContext moc: NSManagedObjectContext) {
let name = "\(self)".components(separatedBy: ".").first ?? ""
guard let entityDescription = NSEntityDescription.entity(forEntityName: name, in: moc) else {
fatalError("Unable to create entity description with \(name)")
}
self.init(entity: entityDescription, insertInto: moc)
}
но это не работает из-за этой ошибки ...
«self» используется перед вызовом self.init
Кто-нибудь знает, как обойти эту ошибку или добиться того же результата другим способом.