Ios 将领域查询结果用作UITableView节标题

Ios 将领域查询结果用作UITableView节标题,ios,swift,xcode,uitableview,realm,Ios,Swift,Xcode,Uitableview,Realm,我试图在UITableView中将领域查询的结果用作节标题 领域类别: class Person: Object { @objc dynamic var personId = UUID().uuidString @objc dynamic var firstName: String = "" @objc dynamic var surname: String = "" @objc dynamic var mobileNumber: Int = 0 @obj

我试图在UITableView中将领域查询的结果用作节标题

领域类别:

class Person: Object {
    @objc dynamic var personId = UUID().uuidString
    @objc dynamic var firstName: String = ""
    @objc dynamic var surname: String = ""
    @objc dynamic var mobileNumber: Int = 0
    @objc dynamic var password: String = ""

    override static func primaryKey() -> String? {
        return "personId"
    }
}

class Category: Object {
    @objc dynamic var categoryId = UUID().uuidString
    @objc dynamic var person: Person?
    @objc dynamic var categoryName: String = ""
    let categoryContent = List<String>()

    override static func primaryKey() -> String? {
        return "categoryId"
    }
}
对于getCategoryNames函数,它多次返回[“类别1”、“类别2”、“类别3”、“类别4”]。这似乎是节标题所需字符串的正确格式,但没有显示表标题。

尝试以下操作:

private func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    let nameArr = getCategoryNames()
    return nameArr[section]
}
函数:func tableView(tableView:UITableView,
titleForHeaderInSection:Int)->字符串?所以您需要返回特定节的字符串。

还没有。在if let nameArr行中出现“条件绑定的初始值设定项必须具有可选类型,而不是“[String]”错误。My getCategoryNames()返回[String]是否已从函数中删除if语句?只需清理代码并运行一次应用程序。现在,我只需要在添加新类别时更新我的表……只需在添加新类别时重新加载表视图。tableView.reload()添加新类别位于其他视图控制器中。。。我可以在VIEWWILLEXPEND或类似程序中执行此操作吗?
print(Array(categoryNames))
private func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    let nameArr = getCategoryNames()
    return nameArr[section]
}