How to filter duplicate category element into different array and count their amount?
This is the format, record is from the core data.
var record = [Record]()
[<Record:...; data: {accountbook = "MyBook";
                     amount = "10.50";
                     category = "A";
                     id = 1; 
},<Record:...; data: {accountbook = "MyBook";
                     amount = "5.50";
                     category = "B";
                     id = 2;
},<Record:...; data: {accountbook = "MyBook";
                     amount = "4.50";
                     category = "B";
                     id = 3;
}]
What I want
var category = ["A", "B"] //success
var total = [10.50, 10.00]
This is what I do for finding the category, and it works but how to group the same category and sum the total?
var category =[String]()
for categoryObject in record{
    if let categoryItem = categoryObject.category{
        category.append(categoryItem)
    }
}
//I tried this code to group the same category but fail. 
let result = Set(record).map{ category in return record.filter{$0 == category} }
Another way is this. but how if I have A-Z category? it will have very long code..Is there any way can detect the same value and split it to different array so that I can sum it by category.
categoryFilter = record.filter { $0.category!.contains("A") }