以编程方式继续不起作用

Posted

技术标签:

【中文标题】以编程方式继续不起作用【英文标题】:segue programmatically not working 【发布时间】:2015-02-27 14:36:56 【问题描述】:

我有一个转场问题。我有“下一步”按钮:

- (IBAction)NextButton:(id)sender 
//...
[self performSegueWithIdentifier:@"adaugaScore" sender:self];

还有这个:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    if ([[segue identifier] isEqualToString:@"adaugaScore"])
    
        ScoreViewController *scoreVC = segue.destinationViewController;
        scoreVC.score = [NSString stringWithFormat:@"%d",score];
    

我的应用程序在此行崩溃:

[self performSegueWithIdentifier:@"adaugaScore" sender:self];

出现此错误:

has no segue with identifier 'adaugaScore''

【问题讨论】:

您的 StoryBoard 是否有名为 adaugaScore 的 segue? 死了,您实际上在情节提要中创建了一个 segue,将其连接到正确的 viewController 之间并为其提供了完全相同的标识符? 没有。我想以编程方式执行这个 segue 调用(segue)可以以编程方式完成,但 segue 必须存在于 Storyboard 上。 【参考方案1】:

您需要将情节提要中的情节提要 id/name(adaugaScore) 设置为您的控制器。检查:What is a StoryBoard ID and how can i use this? 了解更多信息。

编辑: 要使用 segue 名称,请参考:How do i set a modal segue (programmatically) to a push segue

【讨论】:

所以在这种情况下“adaugaScore”是我的标识符 segue,或者?【参考方案2】:

将 segue.identifier 设置为 adaugaScore。这是通过单击 segue 并在属性面板中设置标识符来完成的。

【讨论】:

以上是关于以编程方式继续不起作用的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式添加约束不起作用

以编程方式更改活动主题不起作用[重复]

使用 UILabel 以编程方式自动布局不起作用

以编程方式 UIScrollView 不起作用

以编程方式自动布局不起作用

以编程方式调用 UIRefreshControl 不起作用