Сохранение NSManagedObjectID из одного объекта в качестве свойства другого объекта? - PullRequest
3 голосов
/ 17 января 2010

У меня есть базовый объект данных, который должен удерживать NSManagedObjectID другого объекта.Для этого я рассматривал возможность преобразования ObjectID в строку, которая является утвержденным типом атрибута NSManagedObject.

Из документации можно прочитать, что я могу получить представление идентификатора URI по идентификатору:

NSURL *uriID = [[myEntity objectID] URIRepresentation];

Затем я могу преобразовать этот URL-адрес в строку NSString:

NSString *stringID = [uriID absoluteString];

Это можно сохранить в атрибуте NSString моего NSManagedObject.

Что теперь происходиткогда мне нужно пойти другим путем?

Я хотел бы иметь возможность сделать что-то вроде этого:

if([myManagedObject objectID] == value) 

где значение это NSManagedObjectID, который я ранее преобразовал в строку NSString.

Чтобы пролить немного света на причину: мне нужно, чтобы объект Entity удерживал и сохранял ObjectID другого объекта Entity, поэтомучто я позже смогу пойти: это последнее «взаимодействие» этих Объектов было с этой сущностью.

Надеюсь, кто-то может помочь мне заставить это работать :) Спасибо

1 Ответ

7 голосов
/ 17 января 2010

Почему бы просто не установить свойство отношения «один к одному» в Object, называемое interaction, которое указывает на экземпляр Entity - и наоборот, отношение ко многим от Entity до Object называется interactions? Это решает проблему довольно аккуратно, без всех методов преобразования.

Но вы также можете взглянуть на методы -managedObjectIDForURIRepresentation: и +URLWithString:, чтобы пойти в другом направлении.

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