Вызвать receivePermanentIDsForObjects: error: в несохраненном документе - PullRequest
1 голос
/ 07 июля 2011

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

if(!widget)
{
    widget = [[Widget alloc] initWithContext:[delegate managedObjectContext]];

    NSError* error = nil;

    if(![[widget managedObjectContext] obtainPermanentIDsForObjects:[NSArray arrayWithObject:widget] error:&error])
    {
        NSLog(@"%@", error);
    }
}

Однако, когда вызывается obtainPermanentIDsForObjects:error:, это приводит к следующей ошибке:

Конфигурация моделииспользуемый для открытия магазина несовместим с тем, который использовался для создания магазина.

Можно ли в любом случае получить постоянный идентификатор до сохранения документа?

1 Ответ

5 голосов
/ 07 июля 2011

Для получения постоянного идентификатора объекта необходимо записать этот объект в базу данных. Это, по сути, сохранение объекта, но особым образом. Это так же дорого, как и реальное сохранение, и вам абсолютно необходимо иметь магазин на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...