Ну, если я что-то упустил, то свойства LinkingObjects
не нужно включать в декодирование.
Я предполагаю, что вы получаете JSON из какого-то онлайн-источника, где JSON для Product
состоит из {id: "", name: ""}. До тех пор, пока вы правильно создаете PortfolioItem
со связанным Product
, полученное свойство LinkingObjects
является результатом динамического запроса в Realm (и, следовательно, будет работать без какого-либо источника JSON).
Я не в состоянии проверить компиляцию ответа сегодня, но вы должны быть в состоянии использовать CodingKeys, чтобы просто исключить это свойство, то есть, добавив его в Product
: -
private enum CodingKeys: String, CodingKey {
case id
case name
}
Кроме того, не связано, но учтите, что ваша функция convenience init
не инициализирует все передаваемые вами свойства.