Xcode 8 при компиляции говорит об изменении экземпляра viewcontroller
с идентификатором, чтобы просто создать экземпляр контроллера представления. Я сделал это, почему это дает две ошибки?Swift 3, Xcode 8 Instantiate View Controller не работает
Я работаю с Swift 3. Я хочу сменить страницы программным способом. Я прочитал много других вопросов по этой теме. Все они используют контроллер представления экземпляров с идентификатором. Они не приняли новый язык.
@IBAction func switchPage(_ sender: UIButton) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController =
storyboard.instantiateViewController("secondViewController") as!
UIViewController
self.presentViewController(secondViewController, animated: true,
completion: nil)
}
Спасибо. Я изменил код, как было предложено, и получил только одну ошибку: Значение дополнительного типа 'UIStoryboard?' не разворачивается; вы хотели использовать '!' или '?'? Добавить где-нибудь восклицательный знак?
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a
nib.
}
@IBAction func ch(_ sender: UIButton) {
let viewController =
storyboard.instantiateViewController(withIdentifier:
"secondViewController") as! UIViewController
self.present(viewController, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Спасибо. Это близко, но я получаю одну ошибку. Какие-либо предложения? – Aleric
@Aleric Я никогда не говорил вам удалять эту строку 'let storyboard = UIStoryboard (имя:« Main », bundle: nil)' проверить отредактированный ответ. –
Это работает. Отличная работа Нира. Не принимайте это близко к сердцу. – Aleric