Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

19.07.2013, 11:18. Просмотров 723. Ответов 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 в сущности)
Возможно ли это?

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


спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2013, 11:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос core data, две сущности (Программирование iOS):

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

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

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

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

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

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

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

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

[Hibernate & Spring Data] Получить список объектов сущности из ManyToMany - Java EE
Сущность User @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) ...

Нужно связать две сущности - Java EE
Есть две сущности: книга и автор. Нужно связать их, чтобы в каждой была ссылка на другую У книги может быть много авторов. У автора может...

Зашел в тупик - две сущности, FK и каскадное удаление - C# MVC
Имеем два варианта связывания модели: ЛИБО а) 1. Две связанных сущности - МЕСТО(PK:PlaceID, PlaceName) и ОБОРУДОВАНИЕ(PK:HwID,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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