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

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

Войти
Регистрация
Восстановить пароль
 
13Ori31
1 / 1 / 0
Регистрация: 11.03.2013
Сообщений: 43
#1

core data, две сущности - Программирование iOS

19.07.2013, 11:18. Просмотров 689. Ответов 2
Метки нет (Все метки)

Привет.
Есть база, в ней две сущности, предположим «факультет» и «студент» между ними связь много к одному и обратно).
Требуется добавить студента, но чтобы не было потерянной записи нужно указать ему его факультет.
Делаю так: есть поля текстовые куда пользователь водит название факультета и имя студента. Потом нажимает на кнопку save…
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-(void)save{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    [fetchRequest setEntity:[NSEntityDescription entityForName:@"fac"
                                    inManagedObjectContext:self.managedObjectContext]];
    
    NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name LIKE %@",
                                                                   [fac text]];
    
    [fetchRequest setPredicate:predicate];
    NSArray *arrayIntem = [NSMutableArray arrayWithArray:[self.managedObjectContext
                                                          executeFetchRequest:fetchRequest
                                                          error:nil] ];
    Stud *stud = [NSEntityDescription
                        insertNewObjectForEntityForName:@"stud"
                        inManagedObjectContext:self.managedObjectContext];
    
    if ([arrayIntem count]{
            [stud setName:[nameStud text]];
            [[arrayIntem objectAtIndex:0] addStudObject:stud];
            [[stud managedObjectContext] save:nil];
            [self dismissViewControllerAnimated:YES completion:nil];
    }
     else{
        //если новый факультет
     }
}
добавляется все корректно, но с одним условием факультет надо водить строго как он есть в базе если он не новый…
понимаю что обычно если нужно сравнение строк не зависящее от регистра нужно обе переводить в верхний или нижний регистр, а затем сравнить.
Получение существующего факультета делаю так:
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name LIKE %@", [fac text]];
Поэтому перевести их оба в какой либо регистр не могу(не знаю как это сделать с полем name в сущности)
Возможно ли это?

Если нет то правильно ли будет реализовать это получив сперва массив факультетов без выборки, а затем сравнить элементы массива с требуемым факультетом с переводом регистра.?


спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 11:18     core data, две сущности
Посмотрите здесь:

Improve Core Data skills - Программирование iOS
Привет всем. Как-то так печально у меня складывался рабочий опыт, что с CoreData особо проектов и не было. А если и было (две штуки),...

core data newManagedObject setValue: - Программирование iOS
Уважаемые форумчане! Возникла следующая проблема: создаю DataModel, добавляю Entity, добавляю attribute string. Когда выполняю ......

Нужно разъяснение с Core Data - Программирование iOS
Всем привет! Толи я идиот тупой, толи с возрастом соображалка перестает работать нормально, но я никак ни по книжкам, ни по примерам...

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

Использование Core Data в статической библиотеке - Программирование iOS
Доброго времени суток. Прошу у вас помощи в разъяснение важного мне вопроса. Я пишу статическую библиотеку для iOS. Всё бы хороше, да...

Как записать данные в соответствующую категорию с Core Data? - Objective-C
У меня есть Table View, где перечислены каталоги (Английский, Испанский, Китайский). Зайдя в каталог, я могу создать новую запись ( за это...

core data запрос на получение суммы атрибута, всех записей - Программирование iOS
Привет, есть сущность продукция имеющая свои атрибуты один из них цена, Есть н продукций нужно найти сумму всех цен Для этого я...

Муки выбора: core data или работа "напрямую" с sqlite - Программирование iOS
Здравствуйте! Я новичок в разработке под osx и ios, но так как база на сях и плюсах была (когда-то давно), то идет это дело у меня довольно...

smart loading data - Программирование iOS
Вот нашел ссылку с помощью ответа в пред ведущей теме, но не могу никак разобраться, как сделать автоматическую загрузку JSON при свайпе в...

Core Audio - Программирование iOS
Кто нибуль работал с Core Audio с AudioUnit? Нужна помощь. :)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
20.07.2013, 19:21     core data, две сущности #2
Можно вместо LIKE использовать MATCHES и передать регулярку, соответствующую факультету вне зависимости от регистра
Еще можно просто хранить все факультеты в одном регистре, а при выводе(если необходимо) форматировать как нужно.
13Ori31
1 / 1 / 0
Регистрация: 11.03.2013
Сообщений: 43
22.07.2013, 09:43  [ТС]     core data, две сущности #3
оказалось просто like[c] вместо like))
Objective-C
1
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name like[c] %@", [fac text]];
Ответ Создать тему
Опции темы

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