NSSet中的属性总和

时间:2015-11-04 21:32:26

标签: 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中是否存在类似的东西?

1 个答案:

答案 0 :(得分:1)

我会循环。其他人阅读和理解你正在做的事情会更容易。如果您需要,更容易调试。而且它可能是最快的(关键时刻你做得足够重要)。

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

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

Key Value Coding / Collection Operators。它不像LINQ那样功能齐全,功能强大,所以你会发现它是一个糟糕的替代品。如果您决定使用它,请阅读整个指南,因为您可能不会对KVC有任何特殊的看法。