Я провел годы, пытаясь решить эту проблему, но без разрешения.Почему моя переменная изменяется в printLn, но не в табличном представлении Swift
Я, наконец, добрался до точки, где я извлекаю данные из одного контроллера и перемещаю его к контроллеру назначения, когда я разматываю segue, однако, когда переменная только перезагружается в println
, но не в виде таблицы ,
Я попытаюсь объяснить это немного лучше с моим кодом, поскольку это звучит сложно.
У меня есть метка на одном контроллере, которая при нажатии имеет UISearchController
. когда вы выбираете ячейку, она отклоняет представление с помощью разматывания и передает данные из ячейки обратно на предыдущий контроллер, чтобы изменить метку кнопки.
Я поставил label.text в переменном в верхней части исходного контроллера, как так var selectedStation = "Search Stations"
здесь моя дрянная названа функция, которая используется для println
переменных, увидеть, если он работает, который он делает:
func updateStuff() {
println("you selected \(selectedStation)")
tableView.reloadData()
}
и я объявляю текст метки в моем cellForRowAtIndexPath
так:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("searchFieldCell", forIndexPath: indexPath) as! searchFieldTableViewCell
cell.backgroundView = UIImageView(image: UIImage(named: "red-full"))
cell.destinationLabel.text = selectedStation
}
то в моем UISearchController
я следующее передать эту переменную назад
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
println(stationArray[indexPath.row])
selectedStation = stationArray[indexPath.row]
self.performSegueWithIdentifier("unwindToSet", sender: self)
}
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.destinationViewController .isKindOfClass(SetAlertController) {
var VC = segue.destinationViewController as! SetAlertController
VC.selectedStation = self.selectedStation
VC.updateStuff()
}
}
по существу мой контроллер получает обновленную переменную, но не обновляет его в Tableview, это только обновляет его в Println.
Вы можете поместить код на Google Drive и дать нам возможность посмотреть? –