【发布时间】:2019-08-09 10:29:27
【问题描述】:
现在使用委托模式传输数据:
我已经实现了这个功能:
var overviewController = addOverview()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
overviewController.delegate = self
}
func setValues(){
overview.name = buildingName.text!
overview.city = city.text!
overview.contact = contactName.text!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
overview.date = dateFormatter.string(from: datePicker.date)
overview.email = email.text!
overview.building = buildingTypes[buildingPicker.selectedRow(inComponent: 0)]
overview.freq = cleaningFreqs[cleaningFreqPicker.selectedRow(inComponent: 0)]
overview.phone = phoneNumber.text!
overview.sft = sqFt.text!
overview.state = State.text!
overview.street = street.text!
}
// MARK: - Navigation
override func willMove(toParent parent: UIViewController?) {
super.willMove(toParent:parent)
if parent == nil {
setValues()
print("Hello")
delegate?.setValues(obj: overview)
}
}
这里是我编写的协议中的 setValues:
func setValues(obj: overviewProps){
overview = obj
}
但是在打印对象的一个属性之后,数据并没有被传输。
【问题讨论】:
标签: ios swift uinavigationcontroller segue