我剛開始使用iOS編程,非常感謝您提前給予的耐心和幫助。 我是一個具有名爲「value」的屬性(float)的實體「Expense」。我有一個tableView填充形式coreData與NSFetchedResultsController。 我試圖在標籤(或表頭)中顯示所有「費用」的「值」的總和,但在閱讀Apple Docs和搜索不同的論壇後,我無法實施解決方案。肯定是初學者迷失方向。 欣賞任何關於實現這個操作之王的最佳方式的跡象,或任何類似的顯示類似解決方案的代碼。首先是總結一個CoreData屬性
3
A
回答
8
。如果要計算和存儲貨幣,則應該使用Decimal(nsdecimalnumber的核心數據名稱)和NSDecimalNumber。 我使用float實現了你需要的代碼。但是你應該把它改成NSDecimalNumber。閱讀this知道爲什麼你應該這樣做
如果您想要將費用值添加到節標題,這很容易。你基本上要花費該部分中的所有對象並對其進行總結。
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
float expense = 0;
for (NSManagedObject *object in [sectionInfo objects]) {
expense += [[object valueForKey:@"expense"] floatValue];
}
return [NSString stringWithFormat:@"%@ [Expense: %f]", [sectionInfo name], expense];
}
即使你不使用表中的部分,這將工作。但是你應該改變返回的字符串。
我認爲你應該能夠理解它。還有一個更通用的方法來做到這一點。我爲它寫了一些更詳細的內容。它在for循環中使用3行而不是1,但它完全一樣。
float expense = 0;
for (NSManagedObject *object in [self.fetchedResultsController fetchedObjects]) {
NSNumber *objectExpenseNumber = [object valueForKey:@"expense"];
float objectExpense = [objectExpenseNumber floatValue];
expense = expense + objectExpense;
}
NSLog(@"Expense: %f", expense);
不是很好解釋。
編輯:如果您使用NSDecimalNumber
NSDecimalNumber *expense = [NSDecimalNumber decimalNumberWithString:@"0"];
for (NSManagedObject *object in [self.fetchedResultsController fetchedObjects]) {
NSDecimalNumber *objectExpenseNumber = [object valueForKey:@"expense"];
expense = [expense decimalNumberByAdding:objectExpenseNumber];
}
NSLog(@"Expense: %@", expense);
相關問題
- 1. CoreData總結性能
- 2. iOS Swift總結CoreData屬性值
- 3. XSLT總結兩個屬性
- 4. 基於另一個對象屬性填充CoreData ManagedObject屬性
- 5. XML Java:總結一組屬性
- 6. 遞歸CoreData屬性
- 7. 問題與訪問一CoreData屬性
- 8. 總結Cypher中同一節點的兩個屬性
- 9. CoreData屬性訪問問題
- 10. 替換CoreData中的屬性
- 11. CoreData NSPredicate屬性名稱
- 12. CoreData:瞬態屬性和localizedCaseInsensitiveCompare
- 13. 屬性的coredata默認
- 14. CoreData,瞬態屬性和EXC_BAD_ACCESS。
- 15. CoreData中的瞬態屬性
- 16. 如何獲取CoreData DB中特定屬性的總和?
- 17. Rails 3總結兩個屬性,並分配給另一個在同一模型
- 18. CoreData性能重複實體與屬性
- 19. coredata - 將一個屬性讀取到數組中
- 20. 總結基於子集合的屬性
- 21. 總結XML屬性有時返回零
- 22. 總和coredata
- 23. 總和(屬性「field1」+屬性「field2」),然後總和所有結果的行
- 24. 不能修改存儲在一個結構的屬性另一個屬性
- 25. 在迭代另一個屬性時修改結構的一個屬性
- 26. .net mvc 2驗證:總結幾個屬性的值
- 27. 有沒有更好的方法來總結多個屬性?
- 28. CoreData屬性動態命名和設置實體屬性
- 29. 獲取CoreData中的特定屬性或屬性
- 30. CoreData屬性的索引屬性是做什麼的?
感謝您抽出一段時間「fluchtpunkt」,並指着方式與貨幣合作,這將是代碼。良好的意見總是歡迎和採取。我的主要問題是如何計算用戶可以在TableView中插入的所有費用的「價值」的@Sum,並更準確地將其存儲爲實體「費用」的「價值」或「金額」屬性。我沒有找到一種方法來計算CoreData的一個屬性的總和。然後,我會在某處顯示「總金額」。謝謝 – Diogo 2011-01-23 19:07:19