Hier ist mein relevanter Code:
ViewController „B“ (derjenige, der die Daten an den vorherigen View Controller zurückgibt):
Code: Select all
protocol CountryFieldProtocol {
func setField(countryName: String)
}
class TableViewController: UITableViewController {
var countryProtocol: CountryFieldProtocol?
...
func dismiss() {
for item in countries {
if item.isSelected == true {
print("what is the country selected?" + item.name)
countryProtocol?.setField(item.name)
}
}
self.navigationController?.popViewControllerAnimated(true)
}
Code: Select all
func setField(countryName: String) {
textField.text = countryName
print("the country selected is:" + textField.text!)
}
@IBAction func textFieldEditing(sender: AnyObject) {
textField.resignFirstResponder()
let tableViewController = self.storyboard?.instantiateViewControllerWithIdentifier("CountryList") as? TableViewController
tableViewController?.countryProtocol = self
self.navigationController?.pushViewController(tableViewController!, animated: true)
}
Theoretisch soll die Auswahl des Benutzers aus der Liste im Textfeld des ersten View Controllers erscheinen. Während die Auswahl von der setField-Funktion im ersten View Controller an die Konsole ausgegeben wird, erscheint die Zeichenfolge leider nicht im textField. Was mache ich falsch?
Mobile version