2015-11-21 3 views
0

Я добавил новый атрибут одному из моих объектов, данные ядра перенесли его и загрузили приложение, не отображая несовместимую ошибку модели, но когда дело доходит до использования новой атрибут, я получаю ошибки выбора, я бы предположил, что пока ничего не существует, как я могу получить его, чтобы, если нет данных, он просто показывает пустую строку.Ошибка переноса данных ядра - ошибка выбора

Я попытался

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'

если я редактировать вне если раздел, то пробеги приложения и показываю нет значения строки

ответ

1

похоже, что вы обновили модель Core Data, но не обновить пользовательский подкласс NSManagedObject. Теперь вы пытаетесь получить доступ к lastTaken, но класс не имеет свойства с этим именем. Повторно сгенерируйте подкласс или добавьте новое свойство в класс вручную.

+0

Хотя это не было проблемой, новое свойство находилось в подклассе, по какой-то причине свойство было удалено из модели данных, повторно добавлено его и теперь оно прекрасно –

Смежные вопросы