J'obtiens une erreur lorsque j'utilise storyboard? .instantiate . Cela me donne cette erreur:
Thread 1: Erreur fatale: nul trouvé de manière inattendue lors du déballage d'une valeur facultative
et voici mon code:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let vc = storyboard?.instantiateViewController(withIdentifier: "SelectedViewController")
as? SelectedViewController
vc?.name = imgArr[indexPath.row]
self.navigationController?.pushViewController(vc!, animated: true)
}
et j'utilise déjà l'identifiant ID sur cette photo: p >
S'il vous plaît, n'importe qui peut m'aider dans ce domaine problème.
3 Réponses :
SelectedViewController est-il dans le même storyboard que le contrôleur de vue de la vue de collection?
Je préfère toujours déballer les options avec une garde ou si vous le laissez pour éviter des plantages comme celui-ci. Vous pouvez utiliser:
guard let viewController = storyboard?.instantiateViewController(withIdentifier: "SelectedViewController") as? SelectedViewController else { "return error here if wanted" return }
viewController.name = imgArr[indexPath.row]
self.navigationController?.pushViewController(viewController, animated: true)
cela me donne une erreur appelée "Classe inconnue SelectedViewController dans le fichier Interface Builder."
essayez le code ci-dessous:
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) let vcTitles = storyBoard.instantiateViewController(withIdentifier: "vcTitles") as! VCTitlesViewController self.navigationController?.pushViewController(vcTitles, animated: true)
Comment initialisez-vous la variable de storyboard?
Le VC d'instanciation doit également être dans la hiérarchie, appelé à partir d'un VC qui a le point d'entrée ou vers le bas sur sa chaîne, sinon cela ne fonctionnera pas