Запуск и передача строки в контроллер представления назначения в Swift - PullRequest
0 голосов
/ 21 октября 2018

Я пытаюсь выполнить, казалось бы, простую задачу передачи строки в viewcontroller с storyboardid в коде, но получаю ошибку компилятора: 'View Controller не имеет члена "myString"'

Место назначенияКонтроллер представления имеет идентификатор раскадровки: myVC, и вот мой код для его запуска:

  let storyboard = UIStoryboard(name: "secondSB", bundle: nil)
        let destvc = storyboard.instantiateViewController(withIdentifier: "myVC")
        destvc.myString = "mapme"

Контроллер представления назначен классу, который выглядит следующим образом:

class myMapViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
    @IBOutlet weak var mapView: MKMapView!
    var myString:String = ""
   }   

Это кажется чрезвычайнопросто, но опять же, я относительно новичок в Swift.Если я вычеркну строку с ошибкой, кстати, VC действительно запускается нормально.Что я мог упустить, что вызывает эту ошибку?

1 Ответ

0 голосов
/ 21 октября 2018

instantiateViewController возвращает базовый класс UIViewController, вы должны привести тип к своему подклассу.

Назовите классы, структуры и перечисления с начальной заглавной буквой

let destvc = storyboard.instantiateViewController(withIdentifier: "myVC") as! MyMapViewController 
...