我的数据库模型如下所示:
我尝试仅提取包含消息的联系人,并按最新消息排序。
所以我做了:
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
}
但是我崩溃了:
原因:&#39; Keepath含有KVC聚合物,其中不应该是一个;无法处理消息。@ max.date&#39;
也尝试过:
let sortDescriptor = NSSortDescriptor(key: "messages.date", ascending: false)
let sortDescriptors = [sortDescriptor]
但是我崩溃了:
***因未捕获的异常而终止应用 &#39; NSInvalidArgumentException&#39;,原因:&#39; to-many key不允许在这里&#39;
我该如何解决? 感谢