IOS Segue - Terminating app due to uncaught exception 'NSGeneric Exception'

你。 提交于 2019-12-23 03:50:50

问题


Storyboard screenshot

In the Xcode 4.6 Storyboard i've 2 ViewControlers, one which holds the buttons and the other a labelView, passing a string "Home Tapped" on the tap of the home button

Heres the ViewController.m code

#import "ViewController.h"
#import "ViewController2.h"

@interface ViewController ()

@end

@implementation ViewController

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"Home"])
    {
        NSString *message = @"Tapped on home";
        ViewController2 *vc = [segue destinationViewController];
        vc.labelString = message;
    }
}

ViewController2.h

#import <UIKit/UIKit.h>

@interface ViewController2 : UITableViewController

@property(nonatomic,strong) UILabel *mylabel;
@property(nonatomic,strong) NSString *labelString;

@end

And the error

Terminating app due to uncaught exception 'NSGenericException', reason: 'Could not find a navigation controller for segue 'Home'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'
*** First throw call stack:
(0x1c91012 0x10cee7e 0x468f31 0x45ab99 0x45ac14 0x10e2705 0x162c0 0x16258 0xd7021 0xd757f 0xd66e8 0x45cef 0x45f02 0x23d4a 0x15698 0x1becdf9 0x1becad0 0x1c06bf5 0x1c06962 0x1c37bb6 0x1c36f44 0x1c36e1b 0x1beb7e3 0x1beb668 0x12ffc 0x28dd 0x2805)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

回答1:


You need to make your NavigationController the entry point for your storyboard. Right now it is View Controller, which is indicated by the arrow pointing to it with no source.



来源:https://stackoverflow.com/questions/15506324/ios-segue-terminating-app-due-to-uncaught-exception-nsgeneric-exception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!