swift3 - Can't push from programmatically created UINavigationController -
in swift 3 project using xcode 8.3 , ios 10.3, navigation controller push. app runs navigation controller until try use push. works until last line cause app crash, fatal error: unexpectedly found nil while unwrapping optional value. don't want use storyboard, point of question how accomplish task without storyboard.
app delegate code
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())  } view controller:
import uikit  class mainviewcontroller: uiviewcontroller {      override func viewdidload() {         super.viewdidload()          view.backgroundcolor = .white          let navcontroller = navigationcontroller          let myprofileviewcontroller = myprofileviewcontroller()          navcontroller!.pushviewcontroller(myprofileviewcontroller, animated: true)      } }         
move
let navcontroller = navigationcontroller let myprofileviewcontroller = myprofileviewcontroller()  navcontroller!.pushviewcontroller(myprofileviewcontroller, animated: true) from viewdidload viewdidappear.
in viewdidload there no parent navigation controller set , should not start animations there.
Comments
Post a Comment