"Неожиданно найденный ноль при развертывании необязательного значения" при добавлении UINavigation

Я делал это приложение (Swift 4), и оно работало просто отлично.
Но затем я добавил еще одну страницу, которая должна была работать как главное меню (когда вы открываете приложение, вы видите это), поэтому я создал другой класс, который был классом UINavigationController (это не был View Controller), но когда я используя UIImage, я получаю "Неожиданно найденный ноль при развертывании необязательного значения".
Мой код:

import Foundation
import UIKit
class MainNavigation: UIVewController {
    // Screen width.
    public var screenWidth1: CGFloat {
        return UIScreen.main.bounds.width
    }

    // Screen height.
    public var screenHeight1: CGFloat {
        return UIScreen.main.bounds.height
    }


    @IBOutlet weak var backGround: UIImageView!
    @IBOutlet weak var playButton: UIButton!
    @IBOutlet weak var logo: UIImageView!

    @IBOutlet weak var settingButton: UIButton!


    override func viewDidLoad() {
        super.viewDidLoad()

        self.backGround?.frame = CGRect(x: 0, y: 0, width: screenWidth1, height: screenHeight1)
        self.logo.frame = CGRect(x: screenWidth1 * 1 / 2 - screenWidth1 / 6, y: 0, width: screenWidth1 / 3, height: screenWidth1 / 3)


    }
}

(Это файл для главного меню)

РЕДАКТИРОВАТЬ 1:

Проблема заключалась в том, что я должен был изменить UINavigationController вUINavigationController но теперь есть еще одна проблема: предполагается, что "playButton" переходит на другую страницу, но когда я нажимаю на нее, я снова получаю "Неожиданно найдено ноль при развертывании необязательного значения".

Редактировать 2: Итак, я решил обе проблемы, но теперь, на другой странице, у меня есть эта функция:

func goToMain(){
    self.present(MainNavigation(), animated: true, completion: nil)

}

но когда функция запускается, вместо перехода на главную страницу (MainNavigation), это дает ту же проблему для "кнопки воспроизведения". Зачем?

1 ответ

Почему вы прикрепляете объекты вида к вашему контроллеру навигации? Вы хотите поместить контроллеры представления в стек вашего контроллера навигации, но это ненормально размещать представления в вашем контроллере навигации.

Это, вероятно, ваша проблема.

Другие вопросы по тегам