以编程方式继续不起作用
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 并在属性面板中设置标识符来完成的。
【讨论】:
以上是关于以编程方式继续不起作用的主要内容,如果未能解决你的问题,请参考以下文章