未捕获的异常'NSInvalidArgumentException',原因:' - [SubResultComponent setDate:]:无法识别的选择器发送到实例0x60000046b640'

时间:2018-05-25 20:25:40

标签: swift core-data appdelegate nsexception

我有一个错误,我不确定如何解决。

这里有错误

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SubResultComponent setDate:]: unrecognized selector sent to instance 0x60000046b640'

这是SubResultComponent

extension SubResultComponent {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<SubResultComponent> {
        return NSFetchRequest<SubResultComponent>(entityName: "SubResultComponent")
    }

    @NSManaged public var date: String?
    @NSManaged public var price: NSDecimalNumber?

}

这是我呼叫设定日期

的地方
func updateUI() {

    guard rateLog != nil else {

        return
    }

    // Update cell UI
    self.dateLabel.text = rateLog?.date
    self.priceLabel.text = numberFormatter.string(from: (rateLog?.price)!)
}

1 个答案:

答案 0 :(得分:0)

dynamic的行为类似于BoundingBox [minX:250.0, minY:250.0, minZ:0.0, width:301.7606201171875, height:338.6553955078125, depth:0.0, maxX:551.7606201171875, maxY:588.6553955078125, maxZ:0.0] 的客观c版;它是对编译器的承诺,即对象在运行时将具有这些属性。它实际上并不构成这些属性。为此,需要在核心数据模型文件中正确设置这些属性。使用编辑器的“Create NSManagedObject Subclass ...”选项可以极大地帮助您保持代码和模型的同步。