在 Swift 中向核心数据模型添加一个只读属性。XCDataModel 中不存在



向XCDataModel中不存在的实体添加属性很容易在目标c中通过@synthesis和@dynamic实现。请指导如何在swift中实现这一点。

@NSManaged public var salesPrice: NSNumber?
public var totalVal: NSNumber {
get {
return salesPrice ?? NSNumber(value: 0)
}
}

这里管理销售价格,但不管理totalVal,xcDataModel中也不存在。"我正在崩溃"该实体在访问totalVal时不符合键"totalVal"的键值编码。

if let coreObj = indItem.parentObj.value(forKey: keyPath) { }

这里发生车祸。

  • 'IdItem.PparentObj'这是正确的对象(我仔细检查了一下(
  • "keyPath"是"totalVal"(我正确复制了它(

要支持Swift中声明的类型的键值编码,必须使用@objc关键字进行标记:

@objc public var totalVal: NSNumber {

相关内容

最新更新