Я пытаюсь создать свое первое приложение IOSSwift - неожиданно нашел ноль в то время как разворачивание необязательного значения - вызов переменного от делегата
Я получил эту ошибку «неожиданно нашел ноль в то время как разворачивание необязательного значения», когда я пытаюсь доступа к переменным из моего делегата контроллера представления
Я пытаюсь получить прессованную значение ячейки устанавливается в качестве текста метки на моей целевой контроллер
Это первый контроллер
class SearchStationViewController: UITableViewController, writeValueBackDelegate {
var selectedStation: String!
var fromStationValue: String! = "None"
override func viewDidLoad() {
super.viewDidLoad()
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedStation = stations[indexPath.row].StationName
fromStationValue = selectedStation
let vc = SelectedStationViewController()
vc.fromStationValue = self.fromStationValue
vc.delegate = self
self.dismissViewControllerAnimated(true, completion: nil)
}
}
И цель контроллер, который я хотел бы это label.text быть изменен
protocol writeValueBackDelegate {
var fromStationValue: String! {get set}
}
class SelectedStationViewController: UITableViewController {
@IBOutlet weak var stationFrom: UILabel!
var delegate: writeValueBackDelegate! = nil
var fromStationValue: String! = "None"
override func viewDidLoad() {
super.viewDidLoad()
stationFrom.text = fromStationValue
}
}
Какая ошибка * точно *? На ваш вопрос не хватает деталей. Я предполагаю, что вам нужно создать экземпляр своего контроллера просмотра из раскадровки, а не напрямую, а ваш IBOutlet равен нулю. –
Ошибка показывает, что «неожиданно найдено нуль при развертывании необязательного значения», в то время как я пытался установить метку «stationFrom» на новое значение «fromStationValue», извлеченное из первого контроллера представления. Извините за неясность – StereoNight
Я не могу понять вашу иерархию взглядов. Сначала отображается «SearchStationViewController», а затем «SelectedStationViewController» отображается при выборе станции? Теперь, как вы это делаете, делегат/протокол используется для передачи данных из 'SelectedStationViewController' в' SearchStationViewController', а не наоборот. –