我有一个NSManagedObject
扩展,它需要动态计算一个属性。这用于从NSEntity
描述中获取jsonkey。
下面的代码过去工作得很好,但是更新到最新的swift版本会抛出一个错误:
“anyClass类型(也称为anyobject.type)的值没有成员‘jsonkey’。”
extension NSManagedSyncedObject {
class var jsonKey: String {
return // Some code fetching the proper value
}
var jsonKey: String {
return NSClassFromString("\(type(of: self))")!.jsonKey
}
}
我认为nsClassFromString不像以前那样允许,但我不确定如何升级代码来修复此错误。
最佳答案
如果您只想从实例方法访问类变量,则不需要整个NSClassFromString
部分。您只需使用type(of: self)
即可。
extension NSManagedSyncedObject {
class var jsonKey: String {
return // Some code fetching the proper value
}
var jsonKey: String {
return type(of: self).jsonKey
}
}