IOS Segue - 由于未捕获的异常'NSGeneric Exception'终止应用程序

时间:2013-03-19 17:23:11

标签: iphone ios xcode debugging uistoryboard

故事板截图
images

在Xcode 4.6 Storyboard中我有2个ViewControlers,一个用于保存按钮,另一个用于labelView,在主页按钮的水龙头上传递一个字符串“Home Tapped”

继承ViewController.m代码

#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

错误

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 个答案:

答案 0 :(得分:4)

您需要将NavigationController作为故事板的入口点。现在它是View Controller,由指向它的箭头表示没有来源。