我已经为我的某个实体添加了一个新属性,核心数据已经迁移了它并正在加载应用程序,没有显示不兼容的模型错误,但是当涉及到使用新属性时,我可以使用新属性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会运行并显示无值字符串
答案 0 :(得分:1)
您似乎更新了Core Data模型,但没有更新NSManagedObject
的自定义子类。现在您正在尝试访问lastTaken
,但该类没有具有该名称的属性。重新生成子类,或手动将新属性添加到类中。