Xcode 8.3とiOS 10.3を使用しているSwift 3プロジェクトでは、プッシュするナビゲーションコントローラを取得します。私はそれを押すために使用しようとするまで、アプリケーションは、ナビゲーションコントローラで実行されます。すべては、アプリケーションのクラッシュを引き起こす最後の行まで、fatal error: unexpectedly found nil while unwrapping an Optional value
です。私はストーリーボードを使いたくないのですが、この質問のポイントはストーリーボードなしでこのタスクを達成する方法です。プログラムで作成したUINavigationControllerをプッシュできません
アプリケーションデリゲートコード
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = UINavigationController(rootViewController: MainViewController())
}
ビューコントローラ:
import UIKit
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let navController = navigationController
let myProfileViewController = MyProfileViewController()
navController!.pushViewController(myProfileViewController, animated: true)
}
}
私はストーリーボードを使いたくありません。私はストーリーボードでこれを行う方法を知っています、私はこれをプログラムで行う方法を知りたいのですが、あなたの応答に感謝します。 – markhorrocks