MagicalRecords импортирует данные из JSON / NSDictionary. Импорт отношений
У меня есть вопросы с отношениями. У меня есть NSManagedObject классы Team и Player. Команда может содержать много игроков. Игрок может содержать только одну команду.
Вот JSON из двух запросов:
/ команда
{
"id" : 1,
"name" : "Chicago Bulls",
"city" : "Chicago"
},
{
"id" : 2,
"name" : "Detroit Pistons",
"city" : "Detroit"
},
...
/ игроков
{
"id" : 1,
"name" : "D.J. Augustin",
"teamId" : 1
},
{
"id" : 2,
"name" : "Carlos Boozer",
"teamId" : 1
},
...
Настройка сущностей xcdatamodeld
Team Entity
atribute | mappedKeyName |
name | name |
teamID | id |
city | city |
Player Entity
atribute | mappedKeyName |
name | name |
playerID | id |
Как вы можете видеть, у меня нет установленного teamId для объекта Player, потому что нам нужно использовать ключ relatedByAttribute. Первая проблема здесь, я не знаю, для какого свойства, атрибута или отношения мне нужно установить ключ relatedByAttribute в пользовательской информации.
НАПИСАТЬ ЧАСТЬ КОДА
Предположим, я уже получил команду JSON в лице NSDictionary. Что я делаю:
Этот код удаляет все данные из NSDictionary с помощьюИнформация о пользователе для каждого атрибута для объекта Team. На этом этапе все идет хорошо.
Team *team = [Team MR_createEntity];
[team MR_importValuesForKeysWithObject:dictionary];
Вторая операция - получить всех игроков и присоединить их к конкретной команде, которая уже создана на первом шаге, с помощью ключевого идентификатора команды, который вы можете видеть в JSON.
Что я делаю на этом этапе. Предположим, я получил NSDictionary с первым игроком.
Код такой же для этого.
Player *player = [Player MR_createEntity];
[player MR_importValuesForKeysWithObject:dictionary];
Но отношения не будут работать, и MagicalRecords не будет связывать моего игрока с конкретной командой, потому что я не установил ключ relatedByAttribute, как я сказал. Мне действительно нужно помочь с этим, потому что я понимаю основную идею импорта, но не могу понять, где мне нужно установить ключ relatedByAttribute, который я имею в виду для какой сущности и для какого атрибута.
Я также видел некоторые дублированные проблемы с сущностями и здесь при переполнении стека, я думаю, что это другой вопрос, но если вы можете предложить что-то, это будет хорошо, потому что я начинаю с нуля и могу сделать мой код легким для понимания и без дополнительных проблем , Спасибо большое!
Ссылка, которую я использую:магический импорт