<分区>
假设我有一个托管对象 Word
,我希望能够调用
var w = Word.create(context)
所以我定义了以下扩展:
extension NSManagedObject {
class func create(context:NSManagedObjectContext) -> NSManagedObject {
var classname = NSStringFromClass(self)
var object = NSEntityDescription.insertNewObjectForEntityForName(classname, inManagedObjectContext: context) as NSManagedObject
return object
}
}
但是,它并没有按预期工作。
NSStringFromClass
返回乱码,比如“_TtC8WordApp4Word”,我想不出一个 Swift 等价物- 返回类型是
NSManagedObject
,当它应该是Self
之类的东西时,但是将Self
放在那里将无法编译。
有没有办法做我想做的事?