核心数据获取所有非零对象并按过滤进行过滤

时间:2018-05-12 13:42:36

标签: ios swift core-data

我的数据库模型如下所示:

enter image description here

enter image description here

我尝试仅提取包含消息的联系人,并按最新消息排序。

所以我做了:

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;

我该如何解决? 感谢

0 个答案:

没有答案