When creating a helper extension helper for NSManagedObject to create a new subclass of the managed object, swift provides a Self type for the mimic instancetype , which is great, but I can't seem to typecast from AnyObject . The following code does not compile with the error "AnyObject" does not convert to "Self"
reference
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) } }
swift core-data nsmanagedobject
amleszk Nov 24 '14 at 16:17 2014-11-24 16:17
source share