Ошибка связи основных данных (не отложенная загрузка). Отношения исчезают

У меня есть основная база данных данных, которая имеет (на данный момент) 2 объекта Product и CompetingProduct, отношение CompetingProduct установлено ко многим продуктам.

Я создаю 2 фиктивных продукта и 2 фиктивных конкурирующих продукта и устанавливаю отношения между ними .. все работает, файлы .. Сохраняю в базу данных, также NSlog, «по» их .. все хорошо.

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

Я знаю это о ленивой загрузке ядра данных, но это не так, потому что, когда я пытаюсь [NSSet allObjects] (также po, nslog - ничего), он возвращает 0 объектов, которые обычно должны получать объекты.

Примечание. Сразу после вызова saveChanges все работает.

Абсолютно ЛЮБАЯ помощь будет очень благодарна и выиграет вас, моё уважение и, конечно же, парочку пива

Спасибо!


person Narcis    schedule 17.10.2010    source источник


Ответы (1)


Если я правильно понимаю описание проблемы, она может быть вызвана отсутствием взаимных отношений, установленных с CompetingProduct на Product.

Если отношения:

Product-->CompetingProduct

...и не:

Product<-->CompetingProduct

... тогда вы сможете найти конкурирующие продукты, начав с продукта, но вы сможете найти продукт, начав с конкурирующего продукта.

Если это не проблема, то похоже, что у вас может быть несколько контекстов, и вы не сохраняете тот, в котором вносятся изменения.

person TechZen    schedule 17.10.2010
comment
Ага. кажется, проблема была в обратном отношении. Спасибо!! - person Narcis; 17.10.2010
comment
как мне установить ваш ответ как ответ? - person Narcis; 17.10.2010
comment
Я полагаю, что вы нажмете на галочку рядом с этим ответом - она ​​станет зеленой, и этот ответ теперь помечен как одобренный ответ. - person John Gallagher; 18.10.2010