gpt4 book ai didi

ios - 如何正确获取CoreData表达式查询结果

转载 作者:行者123 更新时间:2023-11-30 12:08:28 27 4
gpt4 key购买 nike

概述:

我正在尝试学习如何从核心数据存储中获取某些统计属性(例如总和、平均值、最小值、最大值)。我已经使用以下代码成功地将平均值检索到字典中,但我必须将结果作为字典获取。

目标:

理想情况下,我希望通过扩展由 Xcode Core Data 托管对象模型自动生成的自定义托管对象类“Contact”来获取结果以及查询的完整结果。到目前为止我还没有成功。无论我尝试什么,我都会遇到类似的错误。

错误:

NSManagedObjectResultType not compatible with contents of propertiesToFetch'or similar

代码:

func avgdemoFloat()->Float{
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let result:Float = 0
do{

let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Contact")
let keypathExp = NSExpression(forKeyPath: "demoFloat")
let expression = NSExpression(forFunction: "average:", arguments: [keypathExp])
let avg = NSExpressionDescription()
avg.expression = expression
avg.name = "avg"
avg.expressionResultType = .floatAttributeType

request.returnsObjectsAsFaults = false
request.propertiesToFetch = [avg]

let results = try context.fetch(request)
print(results)
}

我没有足够的经验来解决这个问题。感谢您的帮助。

最佳答案

当您指定propertiesToFetch时,resultType需要设置如下:

request.resultType = . dictionaryResultType

关于ios - 如何正确获取CoreData表达式查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46382653/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com