如何在NSManagedObject Swift扩展中创建托管对象子类的实例?
当创建一个扩展助手来NSManagedObject
创建一个新的托管对象子类时,swift提供了Self
模仿的类型,instancetype
这很好,但我似乎无法进行类型转换AnyObject
。下面的代码没有编译错误'AnyObject'不能转换为'Self'
救命?
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) }}
慕沐林林
手掌心
慕的地10843