Моя модель БД выглядит так:
Я пытаюсьчтобы выбрать только контакты, которые содержат сообщения и отсортированы по самому последнему сообщению.
, поэтому я сделал:
func lastMessagesFetchRequest() -> NSFetchRequest<ContactEntity> {
let request: NSFetchRequest<ContactEntity> = ContactEntity.fetchRequest()
let predicate = NSPredicate(format: "messages.@count > 0")
let sortDescriptor = NSSortDescriptor(key: "messages.@max.date", ascending: false)
let sortDescriptors = [sortDescriptor]
request.sortDescriptors = sortDescriptors
request.predicate = predicate
return request
}
, но получаю сбой:
причина: 'Keypath, содержащий агрегат KVC там, где его не должно быть;не удалось обработать сообщения. @ max.date '
также пытался:
let sortDescriptor = NSSortDescriptor(key: "messages.date", ascending: false)
let sortDescriptors = [sortDescriptor]
, но я получаю сбой:
*** Завершение приложенияиз-за неперехваченного исключения «NSInvalidArgumentException», причина: «ключ to-many здесь не разрешен»
как я могу его решить?спасибо