My problem is that grouping functions doesn't work for me. What i did was :
import UIKit
struct Person
{
let firstname : String
let lastname : String
let age : Int
}
class GroupingViewController: UIViewController {
let people = [
Person(firstname: "Mabuto", lastname: "Cohen", age: 20),
Person(firstname: "Nagasta", lastname: "Bagamba", age: 21),
Person(firstname: "Embazala", lastname: "Levi", age: 22),
Person(firstname: "Musasabha", lastname: "Israel", age: 23),
Person(firstname: "Bambusto", lastname: "Yaakov", age: 24),
Person(firstname: "Zeus", lastname: "Jupiter", age: 25),
Person(firstname: "Berry", lastname: "Tzakala", age: 26),
Person(firstname: "Uzi", lastname: "Yenmale", age: 27),
Person(firstname: "Yudokulis", lastname: "Lifshi", age: 28),
Person(firstname: "Adolf", lastname: "Hitler", age: 29),
Person(firstname: "Johnny", lastname: "Jenkins", age: 30),
Person(firstname: "John", lastname: "Doe", age: 31),
Person(firstname: "Andrey", lastname: "Homo", age: 33),
Person(firstname: "Rupert", lastname: "Pupkin", age: 32),
Person(firstname: "Bentzi", lastname: "Navad", age: 34),
Person(firstname: "Shlukh", lastname: "Batahat", age: 35),
Person(firstname: "Motako", lastname: "Nambuto", age: 36),
Person(firstname: "Abahabusto", lastname: "Menashe", age: 37),
Person(firstname: "Benny", lastname: "Moos", age: 38),
Person(firstname: "Alex", lastname: "Tarzan", age: 39)
]
// how do we perform the grouping ? dictionaries ?
let groupedDictionary = Dictionary(grouping: people, by: {$0["age"]!})
var groupedPeople = [[Person]]()
var keys = groupedDictionary.keys.sorted()
keys.forEach {(key) in
groupedPeople.append(groupedDictionary[key]!)
}
groupedPeople.forEach({
$0.forEach({print($0)})
})
I have 2 errors which go like that :
In
let groupedDictionary = Dictionary(grouping: people, by: {$0["age"]!})
, i get the
error : "Cannot use instance member 'people' within property initializer; property initializers run before 'self' is available"
And in
keys.forEach {(key) in
groupedPeople.append(groupedDictionary[key]!)
}
I get the
error "Expeted declaration"
How to solve ?