2011-08-19 2 views
1

У меня есть основные данные в моем приложении. В какой-то момент я должен добавить новое событие в базу данных. Так что я:iPhone - запрос базы данных, возвращающий незафиксированные записи?

anEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Events" inManagedObjectContext:context]; 

это даст мне чистую запись, чтобы начать заполнять значения.

Как только пользователь завершит заполнение всех свойств события и нажатий DONE, я должен проверить, есть ли еще одно равное событие в базе данных. Приложение не может допускать дублирование записей. Итак, если в базе данных обнаружено дублирующееся событие, пользователь получает сообщение и должен что-то изменить. Если дубликатов нет, я фиксирую запись в базе данных. Помните, что запись просто сохраняется в базе данных, если там нет дубликата. Я не знаю, как он называется для основных данных, но позволяет сказать, что эта запись, которая не была зафиксирована, является своего рода «входным буфером wannabe».

Проблема заключается в следующем: когда я запрашиваю базу данных для получения записей, эта запись wannabe есть. Таким образом, каждая проверка на дублирование приведет к истинному, очевидно.

как это может быть? Как запись может появиться в запросе, если он еще не был привязан к базе данных? я что-то упускаю?

Да, я уверен, что запись еще не была зафиксирована в точке, которую она видит по запросу.

благодаря

ответ

1

Объект вставляется в контексте, и ваш запрос выборки также работает от контекста. Так что, вероятно, новый элемент будет в вашем запросе.

Вы можете использовать обходной путь: сохранить все данные в локальных переменных, проверить их, и если ввод в порядке, создайте новый объект и вставьте данные.

+0

спасибо. Я думаю, это будет трюк. – SpaceDog

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