简单的segue在xcode 7中不起作用

时间:2015-11-02 17:18:53

标签: ios objective-c segue

使用此命令执行了几个月的简单segue:

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

现在产生此错误:

  

***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法执行segue   标识符'ExpirationWarningSegue'。一个segue必须要有一个   performHandler或它必须覆盖-perform。'

什么?这是一个骗局。我命令 - 在故事板中从一个UIViewController拖动到另一个loadjsonfile:function(){ var promise= $http.get('json/items.json').success(function(response){ itemList = response; ... ... } 。我不是为此编写代码。 segue在故事板中使用这个确切的标识符定义。

为什么现在我已经升级到xcode 7时曾经工作得很好?

2 个答案:

答案 0 :(得分:6)

错误消息确切地告诉您问题所在:

  

'无法使用标识符'ExpirationWarningSegue'执行segue。 segue必须具有performHandler,或者必须覆盖-perform。'

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

Xcode 7 / iOS 9的一个很酷的功能是你可以使用自定义segue,即使你已经指定了push(show)segue或present(modal)segue。在这种情况下,您的perform必须致电super才能获得原始行为。

答案 1 :(得分:0)

查看我的评论here。它是objC中一个简单的自定义segue实现。把它移到swift是微不足道的。