Xcode 8 lors de la compilation dit de changer instancier viewcontroller
avec identifiant pour simplement, instancier le contrôleur de vue. Je l'ai fait, pourquoi cela donne-t-il deux erreurs?
Je travaille avec Swift 3. Je veux changer de page par programme. J'ai lu beaucoup d'autres questions sur le sujet. Tous utilisent le contrôleur de vue instantanée avec l'identifiant. Ils n'ont pas 't adopté la nouvelle langue.
@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)
}
Merci. J'ai changé le code comme suggéré et je reçois une seule erreur: Valeur du type facultatif 'UIStoryboard?' non déballé; vouliez-vous utiliser "!" ou '?'? Dois-je ajouter un point d'exclamation quelque part?
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.
}
}
Essayez comme ça.
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier :"secondViewController") as! UIViewController
self.present(viewController, animated: true)
Ça a marché pour moi:
let gameScene = UIStoryboard(name: "Main", bundle:nil).instantiateViewController(withIdentifier: "ViewController") as UIViewController
let appDelegate = (UIApplication.shared.delegate as! AppDelegate)
appDelegate.window?.rootViewController = gameScene
Cela a fonctionné pour moi par ceci:
let vc = UIStoryboard(name: "ZWLStaticTabVc", bundle: nil).instantiateInitialViewController()
self.navigationController?.pushViewController(vc!, animated: true)