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



我已经为我的一个实体添加了一个新属性,核心数据已经迁移了它,并且正在很好地加载应用程序,没有显示不兼容的模型错误,但当使用新属性时,我会遇到选择器错误,我想既然还没有什么,我该如何获取它,这样如果没有数据,它只显示一个空字符串。

我试过

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 lastTake]:无法识别选择器发送到实例0x12dd11b30'

如果我编辑掉if部分,那么应用程序就会运行并显示无值字符串

看起来您更新了核心数据模型,但没有更新NSManagedObject的自定义子类。现在您正在尝试访问lastTaken,但该类没有具有该名称的属性。重新生成子类,或者手动将新属性添加到类中。

最新更新