Невозможно преобразовать значение типа 'testViewController.Type' в ожидаемый тип аргумента 'UIViewController' - PullRequest
0 голосов
/ 28 апреля 2019

Я получаю эту ошибку со следующим кодом. У меня есть класс View Controller под названием «testViewController». Я пытаюсь нажать кнопку и заставить ее появиться, но эта ошибка отображается в моем коде. Помогите!

self.present(testViewController, animated: true, completion: nil)

Я ожидаю, что это должно показать новый контроллер представления, но это не так.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2019

Я только что нашел код, который работает.Спасибо всем.Вот оно:

let testViewController = self.storyboard?.instantiateViewController(withIdentifier: "MyTest") as! testViewController // I created MyTest in the identifier field of the identity inspector.

self.present(testViewController, animated: true)
0 голосов
/ 28 апреля 2019

Вы должны передать экземпляр, а не

let vc1 = TestViewController.self // wrong
let vc2 = TestViewController() // right

self.present(vc2, animated: true, completion: nil) // right
self.present(TestViewController, animated: true, completion: nil) // wrong
self.present(vc1, animated: true, completion: nil) // wrong

Редактировать: Если виртуальный канал находится внутри раскадровки, загрузите его как

let vc = self.storyboard!.instantiateViewController(withIdentifier: "VCID") as! TestViewController
self.present(vc1, animated: true, completion: nil) // right
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...