У меня есть одно средство выбора даты. Он выбирает время начала и отображается в текстовом поле в виде строки. У меня есть табличное представление, в котором каждая ячейка будет отображать это текстовое поле. А также у меня есть кнопка добавления, которая затем сохраняет строку текстового поля в базе данных области. 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 = ""
}