Я пытаюсь построить ответ, который мне дал here. То, что я пытаюсь, очень просто - я хочу текстовое поле, в которое вы можете ввести текст. Вы нажимаете кнопку перехода, и она выводит вас на новое представление и заменяет текст на ярлыке на этой странице тем, что вводится пользователем в поле. Это код, который я использую на первой странице.Почему я получаю эти ошибки при попытке передать переменную в режиме segue в swift?
import UIKit
class ViewController: UIViewController {
@IBOutlet var entry: UITextField!
let dictionary = entry.text // Line 7 ERROR
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "viewTwo"
{
if let destinationVC = segue.destinationViewController as? viewTwo{
destinationVC.dictionary = self.dictionary // Line 24 ERROR
}
}
}
@IBAction func goToViewTwo(sender: AnyObject) {
performSegueWithIdentifier("viewTwo", sender: self)
}
}
Я включаю только код с первого взгляда, потому что я знаю, что код со второго представления работает.
Я не сталкивался с ошибкой до тех пор, пока не попытался использовать текстовое поле - раньше, когда у меня только что был предварительный текст для передачи по нему. Раньше, вместо let dictionary = entry.text
у меня было let dictionary = "foo"
, и это сработало.
Так что мой вопрос точно такой же, но текстовое поле вместо предварительно выбранного текста - то, что я действительно хочу знать, - это то, почему мой код не работал раньше.
Ошибки, которые я получил, были в строке 7 (я обозначил строки, над которыми были ошибки) - 'ViewController.Type' does not have member names 'entry'
, а также была ошибка в строке 24, но я подозреваю, что это связано с этой ошибкой и будет исправлено, если это ошибка также исправлена. Просто покончите, хотя ошибка на линии 24 была: 'ViewController.Type' does not have member names 'dictionary'
Спасибо.