Я пытаюсь создать UIStoryboard, но в моем коде происходит ошибка - PullRequest
0 голосов
/ 06 декабря 2018
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
{
    let vc = storyboard?.instantiateViewController(withIdentifier: "vc1")as? DetailViewController
    //vc?.image = img[indexPath.row]!
    //vc?.name = imageArray[indexPath.row] storyboard
    self.navigationController?.pushViewController(vc!, animated: true)
}    

Ошибка:

Использование неразрешенного идентификатора раскадровки

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Посмотрите на это:

    // Case: When the next ViewController is existed in the same Storyboard.
    let controller = self.storyboard?.instantiateViewController(withIdentifier: "ControllerIdentifier") as! YourViewController
    // pass data here to the next controller.
    self.navigationController?.pushViewController(controller, animated: true)


    // Case: When the next ViewController is exists in other Storyboard.
    let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: "ControllerIdentifier") as! YourViewController
    // pass data here to the next controller.
    self.navigationController?.pushViewController(controller, animated: true)

Примечание. Поскольку вы используете эту строку с withIdentifier: "vc1", я хотел бы предложить вам всегда назначать идентификатор Storyboard для ViewController, такой же, как ViewControllerимя классаСделайте это привычкой, это будет полезно, потому что вам не нужно запоминать Storyboard Id, который вы установили.Так что будь проще.

0 голосов
/ 06 декабря 2018

Проверьте свойства DetailViewController в Main.storyboard и посмотрите, правильно ли установлен идентификатор раскадровки.Согласно вашему коду это должно быть vc1

enter image description here

...