领域的过滤查询

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'")