2015-08-26 3 views
0

Я пытаюсь понять, как именно работает добавление нового объекта в отношениях, поэтому у меня есть эта модель (любой человек может быть как учитель и ученик) modelПочему выборка называется случайным образом?

Давайте сущности NVPerson и отношения coursesAsStudent. Я создал новый объект NVPerson. Затем извлекается массив курсов из базы данных и добавлены некоторые из них NVPerson, что этот человек должен изучать, как студент

[self.person addCoursesAsStudent:[NSSet setWithArray:self.arrayToAdd]]; 

И это вызывает выборку случайным образом (это можно назвать, можно не назвать) и со случайным числом строк. например enter image description here

Но результат в таблицеView всегда прав!

Итак, может быть, некоторые внутренние процедуры, которые не относятся ко мне прямо сейчас? И кеш отключен в fetchresultcontroller, если это может быть полезной информацией. Почему все это произошло случайно, вот в чем вопрос.

ответ

1

Ваши отношения двунаправленные (как и должно быть), что означает, что когда вы добавляете что-то в один конец, обратное соединение выполняется автоматически на другом конце. Это то, что вы видите.

Это не случайно, это просто зависит от того, что в настоящее время происходит с ошибкой при изменении отношений. Если все объекты и данные о взаимоотношениях доступны, все можно сделать напрямую, в противном случае детали должны быть извлечены (упущены ошибки), прежде чем это произойдет.

+0

Да, спасибо. Когда я добавляю то же самое во второй раз после предыдущей отмены, выборка не вызывается. Похоже, потому что теперь он находится в контексте после первой выборки. Не могли бы вы сказать по своему опыту, это вещь, о которой я должен заботиться? например, в случае больших данных? должен ли я предварительно отбирать все, что можно использовать в ближайшем будущем? – NikLanf

+0

Возможно, что предварительная выборка может помочь, но я бы определенно профилировал с помощью инструментов и основного инструмента данных, прежде чем делать это (и после), чтобы увидеть, что основные издержки замедляют приложение вниз. – Wain

+0

это звучит вполне разумно, спасибо) – NikLanf

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