¿Cómo puedo crear instancias de subclases de objetos administrados en una extensión NSManagedObject Swift?
Al crear una extensión auxiliar paraNSManagedObject
para crear una nueva subclase de objetos gestionados, swift proporcionaSelf
escribir para imitarinstancetype
lo cual es genial, pero parece que no puedo escribir desdeAnyObject
. El siguiente código no se compila con error'AnyObject' no es convertible a 'Self'
¿Ayuda?
extension NSManagedObject
{
class func createInContext(context:NSManagedObjectContext) -> Self {
var classname = className()
var object: AnyObject = NSEntityDescription.insertNewObjectForEntityForName(classname, inManagedObjectContext: context)
return object
}
class func className() -> String {
let classString = NSStringFromClass(self)
//Remove Swift module name
let range = classString.rangeOfString(".", options: NSStringCompareOptions.CaseInsensitiveSearch, range: Range<String.Index>(start:classString.startIndex, end: classString.endIndex), locale: nil)
return classString.substringFromIndex(range!.endIndex)
}
}