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