У меня есть 3 структуры: представление коллекции, представление таблицы и пользовательская ячейка. Я хочу перенести данные из представления выбора в представлении коллекции в текстовое поле пользовательской ячейки. Итак, я регистрируюсь из пользовательской ячейки в табличное представление и из табличного представления в коллекционное представление. У меня есть вид сборщика в представлении коллекции. Когда пользователь выбирает какой-либо элемент, текст поля, который находится в пользовательской ячейке, изменится. Когда я последовательно запускаю режим отладки, мой код работает, но в версии выпуска без точек останова он не работает. В чем проблема. Если это из-за оптимизации, как я могу избежать этого? Вот мой код.
С уважением,
AddProjectViewController
class AddProjectViewController: BaseViewController {
let myPickerData = [ "Peter", "Jane", "Paul", "Mary", "Kevin", "Lucy"]
var collectionViewToTableView: ((String)->())?
}
extension AddProjectViewController: UIPickerViewDelegate, UIPickerViewDataSource {
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return myPickerData.count
}
func pickerView( _ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return myPickerData[row]
}
func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
collectionViewToTableView?(myPickerData[row])
}
}
AddProjectTableViewController
class AddProjectRadioButtonCollectionViewCell: UICollectionViewCell, Identifiable {
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var questionLabelOutlet: UILabel!
var deliver: (()->())?
var tableViewToCustomCell: ((String)->())?
var parent: AddProjectViewController? {
didSet {
parent?.collectionViewToTableView = { (str) in
self.tableViewToCustomCell?(str)
}
}
}
}
PickerViewCustomCell
class PickerViewCustomCell: UITableViewCell, Identifiable, UITextFieldDelegate{
@IBOutlet weak var fieldBoxOutlet: SkyFloatingLabelTextField!
var textFieldTapped : (()->())?
var parent: AddProjectRadioButtonCollectionViewCell? {
didSet {
parent?.tableViewToCustomCell = { (str) in
self.fieldBoxOutlet.text = str
}
}
}
}