领域的过滤查询
Filtering query for Realm
我有一个函数可以将我领域 table 中的所有对象打印到 table 视图中。我希望能够通过它们的“肌肉”过滤这些对象属性。
这是我的数据库辅助函数:
func getMusclesCount()-> Int {
let storedExercise = realm.objects(StoredExercise.self)
return storedExercise.count
}
//MARK:- getAllMuscelsNames
func getAllMusclesNames()-> [String] {
var musclesName = [String]()
let storedExercise = realm.objects(StoredExercise.self)
for exercise in storedExercise {
print("Muscle = \(exercise.muscle)")
musclesName.append(exercise.name)
}
return musclesName
}
这是我的 Table 视图控制器 class :
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return DBHelper.shared.getAllMusclesNames().count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
if cell == nil {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
}
let muscle = DBHelper.shared.getAllMusclesNames()[indexPath.row]
cell.textLabel?.text = muscle
return cell
}
我试过将 .Filter 添加到 'let storedExercise',但我不确定如何正确设置它。如有任何帮助,我们将不胜感激,谢谢。
如果您的 StoredExercise 模型如下所示
class StoredExercise: Object {
@objc dynamic var muscle = ""
}
然后要进行二头肌的所有练习,就是这个
let bicepResults = realm.objects(StoredExercise.self).filter("muscle == 'biceps'")
我有一个函数可以将我领域 table 中的所有对象打印到 table 视图中。我希望能够通过它们的“肌肉”过滤这些对象属性。
这是我的数据库辅助函数:
func getMusclesCount()-> Int {
let storedExercise = realm.objects(StoredExercise.self)
return storedExercise.count
}
//MARK:- getAllMuscelsNames
func getAllMusclesNames()-> [String] {
var musclesName = [String]()
let storedExercise = realm.objects(StoredExercise.self)
for exercise in storedExercise {
print("Muscle = \(exercise.muscle)")
musclesName.append(exercise.name)
}
return musclesName
}
这是我的 Table 视图控制器 class :
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return DBHelper.shared.getAllMusclesNames().count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
if cell == nil {
cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
}
let muscle = DBHelper.shared.getAllMusclesNames()[indexPath.row]
cell.textLabel?.text = muscle
return cell
}
我试过将 .Filter 添加到 'let storedExercise',但我不确定如何正确设置它。如有任何帮助,我们将不胜感激,谢谢。
如果您的 StoredExercise 模型如下所示
class StoredExercise: Object {
@objc dynamic var muscle = ""
}
然后要进行二头肌的所有练习,就是这个
let bicepResults = realm.objects(StoredExercise.self).filter("muscle == 'biceps'")