Обработка Swift 4 Optimaztion между отладкой и выпуском - PullRequest
0 голосов
/ 29 августа 2018

У меня есть 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
        }
    }
}
}
...