Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
smth
175 / 44 / 6
Регистрация: 23.06.2011
Сообщений: 243
#1

Core Data проверка уникальности записи - Программирование iOS/iPhone

06.03.2015, 17:59. Просмотров 642. Ответов 1

Добрый вечер! Вливаюсь в CoreData потихоньку, почти все понятно, кроме вот чего: не могу до конца понять, как работает проверка данных.

Пример: есть таблица (справочник) Colors, в которой одно поле - color (string). Данные в этом поле должны быть уникальны. Во время проектирования модели (xcdatamodel) возможности задать такого свойства нет (пришлось смириться с этим). Ок, тогда создаю класс Colors : NSManagedObject со свойством color, и там же метод
Objective-C
1
- (BOOL)validateColor:(id *)color error:(NSError **)outError
. Затем мне надо, вроде бы, просто выполнить запрос, который вернет количество записей с соответствующим color, но меня тут клинит (возможно, надо просто отдохнуть). Правильный ли это подход или это делается как-то по-другому?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2015, 17:59     Core Data проверка уникальности записи
Посмотрите здесь:

Нужно разъяснение с Core Data
core data newManagedObject setValue:
smart loading data
Core Audio
core data, две сущности
core data запрос на получение суммы атрибута, всех записей
Использование Core Data в статической библиотеке
Core Graphics анимация
Objective-C Как записать данные в соответствующую категорию с Core Data?
Муки выбора: core data или работа "напрямую" с sqlite
Improve Core Data skills
Swift Проверка качества пароля

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
662 / 524 / 44
Регистрация: 05.03.2010
Сообщений: 1,270
07.03.2015, 02:10     Core Data проверка уникальности записи #2
есть два имеющих вполне одинаковое право на существование подхода
это грубо говоря толстая и тонкая модели

Например в шаблоне Active Record модель сама умеет делать операции присущие DAL (Data Access Layer)
А в шаблоне Repository - вся DAL логика выносится в так званные репозитории и там производятся всякие CRUD операции над моделями, в то время модель это просто объект с полями и, возможно, еще каким-то описанием, не более.

Вы сейчас описываете Active Record, есть крутой фреймворк MagicalRecord для реализации CRUD операций над моделями именно таким образом

Просто в Xcode, если вы заново сгенерируете NSManagedObject файл из xcdatamodel, то он просто перезатрет все, что у вас там было еще написано
Потому либо создавайте категорию для модели, либо продвигайтесь по Repository пути и в репозиториях реализовывайте такую логику, либо гляньте такую чудо-тулзовинку mogenerator и в human-моделях описывайте дополнительную логику

А насчет проверки на уникальность - то да, проверяете или такая запись есть и если есть, то увы
Yandex
Объявления
07.03.2015, 02:10     Core Data проверка уникальности записи
Ответ Создать тему
Опции темы

Текущее время: 19:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru