UINavigationController push segue上的随机崩溃

时间:2015-10-21 15:00:26

标签: ios objective-c uinavigationcontroller segue pushviewcontroller

我的企业iOS应用中似乎每周发生一次问题。一切正常,然后随机我看到

的错误
  

“无法找到segue的导航控制器'toOrderView'。推送segues只能在源控制器由UINavigationController实例管理时使用。”

以下是完整的崩溃报告:

  

线程:致命异常:NSGenericException   0 CoreFoundation 0x000000018588022c _exceptionPreprocess
  1 libobjc.A.dylib 0x00000001974500e4 objc_exception_throw
  2 UIKit 0x000000018a8cf934 - [UIStoryboardPushSegue destinationContainmentContext]
  3基金会0x0000000186782fc4 _NSFireTimer
  4 CoreFoundation 0x0000000185837e78 _CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
  5 CoreFoundation 0x0000000185837b28 __CFRunLoopDoTimer
  6 CoreFoundation 0x0000000185835574 __CFRunLoopRun
  7 CoreFoundation 0x0000000185760f74 CFRunLoopRunSpecific
  8 GraphicsServices 0x000000018f0936fc GSEventRunModal
  9 UIKit 0x000000018a362d94 UIApplicationMain
  10 MyLync 0x000000010015a8bc main(main.m:15)
  11 libdyld.dylib 0x0000000197afaa08 start

同样,这个问题在99%的情况下都不会发生,但每隔一段时间错误就会崩溃我的应用程序。这是应用程序中最常见的转换,因为它是我们用户访问的主页面。我甚至记录了每台机器发生推送转换的次数,并且在发生崩溃时会报告它,但它在100次中的运行时间超过99次。它只发生在某些机器上,因为一些用户有0次这种崩溃的实例。
我完全糊涂了。任何帮助将不胜感激 另外值得注意的是,我为我们的组织创建了大量的应用程序,这是 ONLY 曾经遇到过这个问题的应用程序,尽管它们几乎都使用了导航控制器对象。 我可以发布代码或其他任何东西,但就像我说的那样,因为它几乎总是有效的,我正在寻找一个原因,为什么它不会少于1%的时间。 这是prepareForSegue块中的最新内容:

if ([[segue identifier]isEqualToString:@"toOrderView"]){
    LYNViewOrderViewController *vovc = [segue destinationViewController];
    vovc.orderNumber = sendingOrder.orderNo;
}

这是调用代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    if (tableView == tblCredits) {
        sendingOrder = creditArray[indexPath.row];
    }else{
        sendingOrder = orderArray[indexPath.row];
    }
    [self performSegueWithIdentifier:@"toOrderView" sender:self];
}

没有填充发送订单的问题,我已经检查过了。

0 个答案:

没有答案