Базовые данные NSManagedObject - запрос элемента «имя атрибута» во что-то, не являющееся структурой или объединением - PullRequest
0 голосов
/ 05 ноября 2010

Сценарий:

Я создал проект xcode под названием «Импорт», в который я читаю файл XML и импортирую содержимое в свою базу данных основных данных.Затем у меня есть второй «основной» проект, в котором я добавляю файл SQLite в основной комплект и импортирую, используя код из примера Core Data Books.Я внес изменения в .xcodedatamodel в свой «импортирующий» проект, я обнаружил, что в finder, и перетащил его в свой «основной» проект, а затем сгенерировал там файлы модели NSManagedObject.До сих пор это работало, но Xcode, похоже, был сбит с толку ...

Недавно я удалил некоторые атрибуты и добавил 1 новый.Затем я выполнил тот же процесс, что и выше, и теперь он говорит «запрос на член 'имя атрибута ' в чем-то, что не является структурой или объединением».Если я наберу article 'modelname.' и нажму esc, intellisence по-прежнему выбирает старые атрибуты?

В проекте "import" хотя все работает нормально, и я не получаю никакогоошибки на каких-либо атрибутах и ​​правильность intellisence?

Пожалуйста, посоветуйте, есть ли кэш в xcode?Я использовал «Очистить все цели», но это не похоже на работу.

Джеймс

Ответы [ 3 ]

1 голос
/ 06 ноября 2010

Вы изменили свойства в своем пользовательском подклассе NSManagedObject?
Похоже, ты забыл это сделать.

Вы провели поиск по всему названию вашего атрибута? Если бы мне нужно было сделать предположение, я бы сказал, что оно где-то объявлено.

0 голосов
/ 08 ноября 2010

Исправлено сегодня утром.

После получения подсказки fluchtpunkt для поиска в проекте я использовал finder для поиска одного из старых имен атрибутов, и один из файлов класса NSManagedObject по-прежнему появлялся в папке «Classes».Файл в xcode находился вне папки классов и имел правильные атрибуты, но хотя xcode не имел ссылки на старый файл в каталоге "classes", он все еще использовал его ... Так что удалил его, и теперь он работает!

Кровавый код и ссылки на файлы и группы - хотелось бы, чтобы была альтернатива!

Спасибо за все идеи!

Джеймс

0 голосов
/ 06 ноября 2010

После внесения изменений в xcdatamodel вам нужно сделать следующее, поэтому попробуйте

выбрать файл .xcdatamodel. Затем,

Шаг 1:

Перейти к Проект -> Модель данных -> Добавить версию модели

Шаг-2:

Перейти к Дизайн -> Модель данных -> Установить текущую версию

Теперь в «Установить текущую версию» вы будетеполучите последний, работающий на вас.

Скомпилируйте и запустите.:]

Надеюсь, это поможет.

...