Как отсортировать данные по времени, выбранному средством выбора даты с помощью Realm в Swift 5 - PullRequest
0 голосов
/ 14 июля 2020

У меня есть одно средство выбора даты. Он выбирает время начала и отображается в текстовом поле в виде строки. У меня есть табличное представление, в котором каждая ячейка будет отображать это текстовое поле. А также у меня есть кнопка добавления, которая затем сохраняет строку текстового поля в базе данных области. Realm используется для загрузки tavleView. Теперь я хочу отсортировать данные в области, чтобы отображать ячейки в соответствии с начальным временем, которое имеет каждая ячейка.

class NewActivityTableViewController: UITableViewController {
   @IBOutlet weak var startingTimeTxt: UITextField!
   
   let datePickerTime = UIDatePicker()
   let realm = try! Realm()
   
   override func viewDidLoad() {
   super.viewDidLoad()
   startingTimeTxt.delegate = self
   
   datePickerTime.datePickerMode = .time
  }

Затем я подключил свой textView к средству выбора даты и нажал на панель инструментов.

@objc func donePressed(sender: UIBarButtonItem) {
    
    //formatter
    let formatter = DateFormatter()
    formatter.dateStyle = .none
    formatter.timeStyle = .short
    
    startingTimeTxt?.text = formatter.string(from: datePickerTime.date)
    self.view.endEditing(true)
    
}

Затем при нажатии кнопки добавления все данные будут сохранены в области

@IBAction func AddButtonPressed(_ sender: UIBarButtonItem) {
    
    let cell = ScheduleCellDetails()
    
    cell.startingTime = startingTimeTxt.text ?? ""
    
    saveSchedule(cell: cell)
}

 func saveSchedule(cell: ScheduleCellDetails) {
    do {
        try realm.write {
            realm.add(cell)
        }
    } catch {
        print("Error saving category \(error)")
    }
  }
}

Мой класс данных области

class ScheduleCellDetails: Object {

@objc dynamic var startingTime: String = ""
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...