Итак, я нашел много информации о UITableView и нескольких разделах, однако они всегда со строками, массивами, статическими данными, Obj-C или с чем-то другим, с которыми я не могу перевести свою ситуацию, главным образом потому, что я полностью новые для разработки приложений. Любая помощь очень ценится, так как прошло чуть больше месяца, что я пробовал разные подходы без успеха.
Поэтому у меня есть несколько объектов Dog со следующими свойствами:
class Dog: Object {
dynamic var name = ""
dynamic var race = ""
dynamic var age = 0
dynamic var owner = ""
dynamic var dogID = ""
override static func primaryKey() -> String? {
return "dogID"
}
}
И в моем файле ViewController у меня есть следующий код (я удалил ненужные строки):
let realm = try! Realm()
var dogResults : Results<Dog>?
override func viewDidLoad() {
super.viewDidLoad()
self.dogResults = realm.objects(Dog.self)
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.dogResults!.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
let dog = self.dogResults![indexPath.row]
cell.textLabel?.text = dog.name
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
// ?
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// ?
}
Я хотел бы организовать разделы с помощью свойства "расы" от объекта "Собака", однако мне очень трудно достичь этого.
Я видел несколько примеров, когда они используют инструкцию "if" для разделов, я пробовал это и не смог получить правильные результаты, однако мне хотелось бы, чтобы более чистый подход я видел в некоторых других примерах, используя:
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data[section].count
}
Я делал различные попытки, но, будучи БД Realm и быстро, у меня возникают проблемы, следуя большинству примеров.
Спасибо за ваше время.