0

SELECT count(Name),Name from Test group by Name。

如何使用 Coredata - iOS SDK 执行此查询

4

2 回答 2

1

你没有。

Core Data 不是数据库。它是一个对象层次结构,碰巧持久化到磁盘,其中一个持久性选择是数据库。

NSPredicate 将允许您从 Core Data 中检索实体,然后您可以使用 KVC 根据需要对它们进行分组并执行计数。

于 2013-06-03T17:14:52.637 回答
0

可以用 NSExpression 来实现

    // count messages
    let countExpression = NSExpression(format: "count:(message)")
    let countED = NSExpressionDescription()
    countED.expression = countExpression
    countED.name = "messages"
    countED.expressionResultType = .Integer32AttributeType

    // request
    var request = NSFetchRequest()
    request.entity = entityDescription
    request.propertiesToFetch = ["username",messageED]
    request.propertiesToGroupBy = ["username"]

设置返回字典很重要

    request.resultType = .DictionaryResultType
于 2015-05-18T15:52:36.567 回答