Receiver没有带标识符的segue ...以编程方式创建segue

时间:2015-07-17 01:18:15

标签: ios objective-c uikit uistoryboard uistoryboardsegue

以编程方式创建的segue在performSegueWithIdentifier:上崩溃应用程序,我真的不想使用故事板。

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

ViewController *viewController = [[ViewController alloc] init];

self.segue = [[UIStoryboardSegue alloc] initWithIdentifier:@"showInfo" source:self destination:viewController];

//change the background color to white
self.view.backgroundColor = [UIColor whiteColor];

//create the table view
UITableView *tableView = [[UITableView alloc] init];

//initialize the data source and the delegate to self - as the methods are going to be specified in this script
tableView.dataSource = self;
tableView.delegate = self;

//register the class for the tableView
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];

//now assign the table view to our our viewController's property
self.view = tableView;}

1 个答案:

答案 0 :(得分:2)

无法以编程方式创建Segues。 Apple的文档说:

  

您不直接创建segue对象。相反,故事板运行时在必须在两个视图控制器之间执行segue时创建它们。

initWithIdentifier:source:destination:方法用于子类化。

那就是说,如果你不使用故事板,你无论如何都不需要segues。只需在需要时实例化并显示目标视图控制器。