ios - NSSet 中的属性总和

标签 ios swift

我从 CoreData 返回了一个 Customer 对象。我正在尝试计算 NSSet 中存在的所有 amount 属性的总和:

extension Customer {
    //...
    @NSManaged var customer_Invoices: NSSet?
}

extension Invoice {
    //...
    @NSManaged var amount: NSDecimalNumber?
    @NSManaged var invoice_Customer: Sale?
}

我可以循环遍历每条记录并添加它们,但我认为有更好的方法吗?

执行此操作的最佳方法是什么?在 C# 中,我通常只使用一个简单的 linq 查询,Swift 中是否存在类似的查询?

最佳答案

我会循环播放。其他人会更容易阅读和理解您在做什么。如果您需要,更容易调试。它可能是最快的(如果您做得足够重要的话)。

如果你真的想变聪明,你可以这样做:

total = customer.valueForKeyPath("@sum.amount")

参见 Key Value Coding / Collection Operators .它不像 LINQ 那样功能齐全且功能强大,因此您会发现它是一个糟糕的替代品。如果您决定使用它,请阅读整个指南,因为 KVC 有一些您可能意想不到的特殊之处。

关于ios - NSSet 中的属性总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33532412/

相关文章:

ios - 进程有超出允许时间的事件断言 iOS

ios - 如何修复错误 "Could not locate device support files"

ios - 将 pdfminer bbox 坐标转换为 iOS 屏幕

ios - 如何快速创建和子类化仅显示日期的自定义 UIPickerView?

json - 解析一些网站数据(SWIFT/JSON)

ios - 检查 JSON 对象是否为 null swift 3

iphone - xCode 4.6 - 即使为应用程序启用状态栏也不会出现

ios - 如何将标题/按钮添加到 UIViewController 内添加的 UINavigationController?

ios - 检查不同语言的工作日字符串

Swift 解除分配与免费使用