0
我有一个简单的数据模型(核心数据),但这里是它的一个精简版:KVC - 过滤设置
Account
----------------------------------------------------
NSSet<Transaction> transactions
Transaction
----------------------------------------------------
Account account
NSNumber amount
NSNumber type (type ∈ (0->'Credit', 1->'Debit'))
我希望得到一个帐户的总余额,但是,我不知道想要将借记标记为负数。我只是希望它是一种借记类型的金额。
目前,我才中添加的借记,我能得到通过此功能,余额在账户:
- (NSNumber *)currentBalance
{
return [self.transactions valueForKeyPath:@"@sum.amount"];
}
很显然,如果我做借记负只会工作。这里有没有一个优雅的解决方案,或许可以将该套件过滤为信用和借记,对这些信息进行求和并执行差异?这会保持准确性吗?我研究过NSPredicate,但我不知道如何继续。
使用KVC的@sum功能看起来像很多工作。 –
您也可以将另一个属性添加到您的对象以返回带符号的值和总和。或者只是沟通@sum并通过它们循环并相应地减去?顺便说一句,您可以在块签名中使用事务类型,并将块类型保存到块中。 (所以,而不是'id评估对象'只是使用'交易*交易') –
@ RoryO'Bryan:我喜欢使用新的财产的建议。太精彩了。非常感谢你!有时我需要退后一步,思考更简单的解决方案。 – Josh