使用经过验证的 segue 标识符字符串调用 performSegueWithIdentifier 时崩溃
Posted
技术标签:
【中文标题】使用经过验证的 segue 标识符字符串调用 performSegueWithIdentifier 时崩溃【英文标题】:Crash when calling performSegueWithIdentifier with verified segue identifier string 【发布时间】:2014-07-21 23:41:30 【问题描述】:我以编程方式向导航栏添加了一个“完成”按钮,因为我无法在情节提要上执行此操作。
接下来,我想从这个“完成”按钮链接到 UICollectionViewController 的另一个子类(目标和源视图控制器都是 UICollectionViewController 的子类)。
由于我的“完成”按钮无法显示在情节提要上(因为以编程方式添加),我在情节提要上创建了一个新的“完成”按钮,只是为了能够在两者之间生成一个转场标识符视图控制器。我将字符串“donePressed”分配给 segue 标识符,如您在此处看到的:https://www.dropbox.com/s/8sd936ml1iably3/donePressed_segue_identifier.png
当我运行构建时,它会成功,但是当我点击导航栏中的“完成”按钮时,我收到以下错误消息:https://www.dropbox.com/s/r5fdg9xs886hxod/Error_Message_performSegueWithIdentifier.png
本质上,它告诉我我的源视图控制器与“donePressed”标识符没有任何关联。
这对我来说很奇怪,因为我故意创建了 segue,当我仔细检查调用“performSegueWithIdentifier”方法的代码时,看起来我输入了正确的“donePressed”NSString。
看这里这行代码:
-(void)donePressed
//segue to other VC
[self performSegueWithIdentifier:@"donePressed" sender:self.doneButton];
我做错了什么?
非常感谢任何帮助。
谢谢!
【问题讨论】:
THFriendsViewControleller 是否有segue 名称donePressed
?错误信息表示没有donePressed
的segue。
【参考方案1】:
您创建的 segue 看起来像是从“完成”按钮到下一个 ViewController,而不是从 self
(主视图控制器)到下一个视图控制器。如果您已链接“完成”按钮以在情节提要中执行全部转场,则无需编写任何程序代码来执行转场。
【讨论】:
以上是关于使用经过验证的 segue 标识符字符串调用 performSegueWithIdentifier 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章