ios - 从领域查询中设置表部分标题
问题描述
我已经搜索过这个问题的答案(我确定它在某个地方)但找不到。
我正在尝试从领域数据库中填充 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 Group: Object {
@objc dynamic var groupId = UUID().uuidString
@objc dynamic var person: Person?
@objc dynamic var groupName: String = ""
let groupContent = List<String>()
override static func primaryKey() -> String? {
return "groupId"
}
}
我想检索当前用户的 groupName 结果并将它们用作表节标题。groupNames 的数量对于每个用户都是动态的。
我当前的代码根本不起作用:
func getGroupNames() {
let mobileNumber = UserDefaults.standard.integer(forKey: "mobileNumber")
let personResult = realm.objects(Person.self).filter("mobileNumber == %@", mobileNumber)
let groupNames = realm.objects(Group.self).filter("person == %@", personResult.self.first)
return (groupNames)
}
我无法让 groupNames 用作节标题。
帮助将不胜感激!
谢谢。
更新
我现在有:
func getGroupNames() -> [String] {
let mobileNumberInt = mobileNumber
let groupNames = realm.objects(Group.self).filter("person.mobileNumber == %@", mobileNumberInt).map({$0.groupName})
return Array(groupNames)
}
这将返回 ["Group Name 1", "Group Name 2"] 两次(无论结果中有多少对象)。为什么两次,现在我如何将这些放入我的部分标题中?我试过了:
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> [String] {
return getGroupNames()
}
部分的数量有效,但标题未显示。
解决方案
假设您已经知道一个人的手机号码,您可以使用以下代码获取一个人所属的组。
func getGroupNames() -> [Group]? {
let realm = try Realm()
let mobileNumber = UserDefaults.standard.integer(forKey: "mobileNumber")
let groupNames = realm.objects(Group.self).filter("person.mobileNumber == %@", mobileNumber)
return Array(groupNames)
}
推荐阅读
- azure-active-directory - 识别 Azure AD 中启用 SAML 的应用
- ios - 由于`autoresizingmask`而发生视图调整大小时,KVO不适用于`UIView.bounds`键路径
- reactjs - 我想使用道具将计数器值传递给我的组件
- git - 如何切换回 HEAD
- css - vuetify数据表中滚动时的粘性标题
- python - Cupy 找不到 CUDA 存储库
- r - 如何根据R中另一行的条件计算非连续行之间的时间差?
- r - R中的逻辑矩阵
- c# - 是否可以嵌入具有不同于默认公共的可访问性修饰符的资源?
- c# - 如何从 treeview WPF 中选择和读取 txt 文件