Application tried to present a nil modal view controller on target "Current View Controller"

Iman picture Iman · May 15, 2014 · Viewed 17.2k times · Source

I have a UIViewController with xib , when I try to present a storyboard view on it , it crashes.

I present it using this

 UIViewController * buddiesOrFacebook = [self.storyboard   instantiateViewControllerWithIdentifier:@"BuddiesFBFriends"] ;
 [self presentViewController:buddiesOrFacebook animated:YES completion:nil];

Answer

ipraba picture ipraba · May 15, 2014

Check these things

  1. Check the identifier of the viewcontroller, if it is the same that you mentioned in storyboardenter image description here

  2. Make sure that your buddiesOrFacebook is not nil. Set a breakpoint on that line and on the debug area at the bottom see whether the object is not nil. If it is nil then problem lies in the storyboard connection

  3. If your current viewcontroller is not launched from storyboard then get storyboard object like this :

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController * buddiesOrFacebook = [storyboard   instantiateViewControllerWithIdentifier:@"BuddiesFBFriends"] ;
    [self presentViewController:buddiesOrFacebook animated:YES completion:nil];
    

Swift Update:

let storyboard = UIStoryboard(name: "MainStoryboard", bundle: nil)
var buddiesOrFacebook = storyboard.instantiateViewControllerWithIdentifier("BuddiesFBFriends")
self.presentViewController(myViewController, animated: true, completion: nil)