核心数据迁移问题 - 选择器错误

时间:2015-11-21 15:37:25

标签: core-data

我已经为我的某个实体添加了一个新属性,核心数据已经迁移了它并正在加载应用程序,没有显示不兼容的模型错误,但是当涉及到使用新属性时,我可以使用新属性i'我得到选择器错误,我会假设,因为还没有什么,我怎么得到它,以便如果没有数据它只显示一个空字符串。

我已经尝试了

var string : String = "No value"

        if let d : NSDate = lastTaken
        {
            let hours : NSNumber = hoursBetween!
            let hoursAsSeconds : NSTimeInterval = hours.doubleValue * 3600
            let time : NSDate = d.dateByAddingTimeInterval(hoursAsSeconds)

            let formatter : NSDateFormatter = NSDateFormatter()
            formatter.dateFormat = "MMM dd, HH:mm"
            formatter.timeZone = NSTimeZone.defaultTimeZone()

            string = formatter.stringFromDate(time)
        }

        return string

但它仍然会引发选择器错误。 lastTaken是新属性

完整错误

  

***由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' - [M lastTaken]:无法识别   选择器发送到实例0x12dd11b30'

如果我编辑出if部分,那么app会运行并显示无值字符串

1 个答案:

答案 0 :(得分:1)

您似乎更新了Core Data模型,但没有更新NSManagedObject的自定义子类。现在您正在尝试访问lastTaken,但该类没有具有该名称的属性。重新生成子类,或手动将新属性添加到类中。