简单段在Xcode7中不起作用

人气:622 发布:2022-10-16 标签: ios objective-c segue

问题描述

使用以下命令执行已工作数月的简单段:

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

现在生成此错误:

*由于未捕获异常‘NSInternalInconsistencyException’,正在终止应用程序,原因:‘无法执行段 标识符为"ExpirationWarningSegue"。段必须有一个 PerformHandler,否则必须重写-Performance。‘

什么?这是一个片段。我按住Command键并从情节提要中的一个UIViewController拖动到另一个。我不会为此编写代码。段在情节提要中使用此完全相同的标识符定义。

为什么我已经升级到Xcode 7,而它以前工作得很好,为什么会发生这种情况?

推荐答案

错误消息确切地告诉您问题是什么:

‘无法使用标识符’ExpirationWarningSegue‘执行段。段必须具有PerformHandler,或者必须重写-Performance。‘

这是一个自定义段。因此它必须实现perform

Xcode7/iOS 9的一个很酷的特性是,即使您已经指定了推送(显示)段或当前(模式)段,也可以使用自定义段。在这种情况下,您的perform必须调用super以获取原始行为。

490