【发布时间】:2016-08-02 19:28:11
【问题描述】:
好的,所以我找到了很多关于 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 {
// ?
}
我想通过 Dog 对象的“race”属性来组织这些部分,但是我很难做到这一点。
我看到了一些示例,他们在这些部分中使用了“if”语句,我已经尝试过,但无法获得正确的结果,但是,我想要在其他示例中看到的更简洁的方法,使用:
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data[section].count
}
我进行了各种尝试,但作为一个 Realm DB 和 swift 我在遵循大多数示例时遇到了问题。
感谢您的宝贵时间。
【问题讨论】:
标签: ios swift uitableview realm