Кодируемый с набором NSOrdered? - PullRequest
0 голосов
/ 10 июля 2019

Похоже, что NSOrdered не поддерживает Codable protol.Я использую кодируемый для анализа данных с alamofire и coredata. Как это можно сделать, пожалуйста?Txs за помощь!:)

 self.photos = try values.decodeIfPresent([Photo].self, forKey: .photos)

1 Ответ

2 голосов
/ 10 июля 2019

JSON не имеет упорядоченных множеств.У него просто есть массивы.Поэтому вам нужно преобразовать массив в NSOrderedSet, вызвав его инициализатор:

self.photos = NSOrderedSet(array:
    try values.decodeIfPresent([String].self, forKey: .photos) ?? [])

(Тем не менее, я бы настоятельно рекомендовал избавиться от NSOrderedSet. Это беспорядок в структуре данных, и он плохо работает с SwiftВы почти всегда лучше оборачиваете массив и просто контролируете, когда вставляете в него. Если вы считаете, что есть разница в производительности, вы должны сделать много профилирования на ваших реальных данных, прежде чем предполагать это.)

...