使用此命令执行了几个月的简单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时曾经工作得很好?
答案 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是微不足道的。