Я использую Eureka для своей формы, но столкнулся с проблемой. Я настраиваю форму, используя этот код
form +++ Section("Add Event")
<<< TextRow("Event"){ row in
row.title = "Event"
row.placeholder = "Enter Event Name Here"
}
<<< DateRow("Date"){
$0.title = "Date"
$0.value = selectedDate
}
<<< TimeRow("Time"){
$0.title = "Time"
$0.value = selectedDate
}
let locationSearchTable = storyboard!.instantiateViewController(withIdentifier: "eventLocation") as! EventLocationViewController
form +++ Section("Location")
<<< CustomPushRow<EventLocationViewController>(){
$0.title = "Location"
$0.presentationMode = .segueName(segueName: "eventLocation" ,controllerProvider: locationSearchTable, onDismiss: nil)
}
здесь пользовательский класс строки push
public final class CustomPushRow<T: Equatable>: SelectorRow<PushSelectorCell<T>, SelectorViewController<T>>, RowType {
public required init(tag: String?) {
super.init(tag: tag)
presentationMode = .show(controllerProvider: ControllerProvider.callback {
return SelectorViewController<T>(){ _ in }
}, onDismiss: { vc in
print("On Dimiss")
_ = vc.navigationController?.popViewController(animated: true)
})
}
}
и когда я хочу изменить значение формы, я использую этот метод для изменения
let eventName : TextRow? = form.rowBy(tag:"Event")
eventName?.value = "asdasadsds"
но когда я хочу изменить настраиваемую строку push, у меня возникают проблемы с преобразованием значения типа «BaseRow?» к указанному типу «CustomPushRow?» когда я делаю это
let row : CustomPushRow? = form.rowBy(tag: "Location")
Как я могу изменить значение CustomPushRow