【问题标题】:Sum attribute from filtered SwiftUI CoreData list过滤后的 SwiftUI CoreData 列表中的 Sum 属性
【发布时间】:2020-06-08 09:10:56
【问题描述】:

我想从我的实体中汇总属性数量并显示它,但仅来自今天输入的数据

这是我的实体ExpenseLog Entities

这是我获取今天数据的获取请求

 @Environment(\.managedObjectContext)
 var context: NSManagedObjectContext

 @FetchRequest(
    entity: ExpenseLog.entity(),
    sortDescriptors: [
        NSSortDescriptor(keyPath: \ExpenseLog.date, ascending: false)
    ]
    ,predicate: NSPredicate(format: "(date => %@) AND (date <= %@)", DateHelper.startOfDay(day: NSDate()), DateHelper.endOfDay(day: NSDate()))
)
private var result: FetchedResults<ExpenseLog>

请帮我看看,先谢谢了

【问题讨论】:

  • 这能回答你的问题吗? How to sum filtered Core Data in SwiftUI?
  • 因为我的属性使用十进制数据类型:无法转换“NSDecimalNumber”类型的值?到预期的参数类型'十进制',它总是让我插入'作为!十进制'后我已经把!十进制。有什么想法吗?

标签: ios swift core-data sum swiftui


【解决方案1】:

我相信您可以像这样添加变量来汇总获取的结果:

private var sum: Decimal {
    result.reduce(0) { $0 + $1.amount.decimalValue }
}

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 2015-11-28
    • 2023-03-30
    • 2022-01-06
    相关资源
    最近更新 更多