我从 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/