Я пытаюсь передать данные с tableview
на предыдущий экран, который является моим Зарегистрироваться. В частности, я посылаю название школы.didSelectRowAtIndexPath не меняет свойство Я перехожу к предыдущему Просмотр
Что происходит, когда я возвращаюсь к предыдущему экрану через сегу, метка, которую я меняю (schoolTextLabel
), показывает «None Selected», когда я хочу, чтобы она отображала название школы. Через некоторую проверку ошибок я обнаружил, что, когда у меня есть это println(theSchoolName)
, он правильно выбирает имя, которое я хочу отображать, Он просто не передает значение другому экрану.
Пожалуйста, помогите!
Я искал бесконечно в Интернете для ответа и не мог на всю жизнь найти ответ.
Спасибо!
TableViewController
var namesArray = [String]()
var locationsArray = [String]()
var theSchoolName = "None Selected"
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "selectedSchool" {
var completeSignUpVC = segue.destinationViewController as! SignUpViewController
completeSignUpVC.school = self.theSchoolName
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.theSchoolName = self.namesArray[indexPath.row]
self.performSegueWithIdentifier("selectedSchool", sender: self.namesArray[indexPath.row])
println(theSchoolName)
}
SignUpViewController
class SignUpViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var schoolTextLabel: UILabel!
var school = "No School Selected"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.schoolTextLabel.text = self.school
usernameSignupText.delegate = self
passwordSignupText.delegate = self
}
}
Просто потому, что вы присвоили строку метке, это не означает, что в любое время, когда вы обновляете строку, метка обновляется. Вам необходимо обновить ярлык, установив его текстовое свойство, скорее всего, в ViewWillAppear. Кроме того, 'prepareForSegue' не вызывается при навигации в обратном порядке в' UINavigationController'. –
Я не использовал UINavigationController, это просто контроллер просмотра с таблицей и кнопка отмены вверху. Он получает вызов, и я знаю это, потому что вместо «No School Selected» появляется «None Selected», поэтому ярлык обновляется, однако он должен отправлять все, что я выбираю в таблице. Знаете ли вы какое-либо исправление для этого или вам нужна дополнительная информация? –