Заставить загрузку базового управляемого объекта данных? - PullRequest
0 голосов
/ 30 января 2012

У меня проблема с Core Data, когда я пытаюсь загрузить второй управляемый объект из отношения с первым объектом. Но в некоторых случаях этот второй управляемый объект является «ошибкой», и программа аварийно завершает работу вместо загрузки информации, связанной с этим вторым управляемым объектом. Так есть ли способ заставить управляемый объект загружаться в память при обращении к нему? Или нужно подождать, пока я не попытаюсь получить прямой доступ к свойству во втором управляемом объекте, прежде чем его данные будут загружены в память?

Ответы [ 2 ]

0 голосов
/ 31 января 2012

Вы потерпите крах, если попытаетесь получить доступ к ошибке, которая с тех пор была удалена в другом контексте.После этого CoreData не сможет получить данные об этой ошибке.

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

Если это не так, выВероятно, у вас возникли проблемы с многопоточностью.Какую именно ошибку / исключение вы видите?

0 голосов
/ 30 января 2012

CoreData, теоретически, обычно обрабатывает ошибки и заполнение управляемого объекта автоматически и в соответствии с различными условиями.

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

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

...