我正在写一个iPad App,今天我意识到,没有互联网连接时出了点问题。

我得到这个非常有用的错误:


  ***由于未捕获的异常“ NSInvalidArgumentException”而终止应用程序,原因:“数据参数为nil”


我认为,我将其限制为以下代码段:

@implementation WebviewPanelFactory

- (WebviewPanelViewController *)webviewPanelForSection:(NSDictionary *)section {
    WebviewPanelViewController *webviewPanel = [[WebviewPanelViewController new] initWithNibName:@"WebviewPanel" bundle:nil];
    webviewPanel.sectionTitle = section[@"Title"];

    NSLog(@"HERE I AM. %@ %@", webviewPanel, section);

    [self setupURLsForWebview:webviewPanel withSection:section];

    NSLog(@"HERE I STILL AM");

    [webviewPanel initWebviewPanel];
    return webviewPanel;
}

- (void)setupURLsForWebview:(WebviewPanelViewController *)webviewPanel withSection:(NSDictionary *)section {

    NSLog(@"HERE I AM. %@", section);

    ...
}

@end


打印出第一个NSLog get,并且两个变量确实存在。但是,第二个和第三个(都不应该在第一个之后被调用)都没有被打印出来。

有什么想法,怎么继续?

最佳答案

在XCode中,您可以添加Exception-Breakpoint,它将在应用程序致命崩溃之前立即将其暂停。您应该尝试一下,如果它能正常工作,它将在代码行上暂停,这会使您的应用程序崩溃。

How to add the exception-breakpoint

关于ios - 如何查找将NSInvalidArgumentException(“数据参数为nil”)扔到哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26255451/

10-12 03:37