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

Adding one read only attribute to Core Data Model in Swift. Which doesn't exist in XCDataModel

通过 objective c 中的 @synthesize 和 @dynamic 可以轻松地向 XCDataModel 中不存在的实体添加属性。 请在 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) { }

此处发生崩溃。

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

@objc public var totalVal: NSNumber {