Это подкласс Core Data NSManagedObject
, поэтому код должен быть
var results = [Attendee]()
func fetchUpdateAttendee() {
let fetchRequest = NSFetchRequest<Attendee>(entityName: "Attendee")
let predicate = NSPredicate(format: "needUpdate == TRUE")
fetchRequest.predicate = predicate
do {
results = try DBWorker.context.fetch(fetchRequest)
results.forEach { result in
print(result)
}
} catch { print(error) }
}
никогда используйте NSArray
для представления массива подкласса NSManagedObject
.
Добавьте свойство dictionaryRepresentation
в класс Attendee
и верните необходимые пары ключ-значение, например
var dictionaryRepresentation : [String:Any] {
return ["address" : address,
"affiliation" : affiliation,
"city" : city
// and so on
]
}
затем сопоставьте массив
let mappedArray = results.map{ $0.dictionaryRepresentation }