【问题标题】:iOS Cloudsight error response crashing appiOS Cloudsight 错误响应崩溃应用
【发布时间】:2017-03-31 00:42:14
【问题描述】:

我在这里执行这段代码

self.cloudSightQuery = [[CloudSightQuery alloc] initWithImage:imageData
                                              atLocation:CGPointZero
                                            withDelegate:self
                                             atPlacemark:nil
                                            withDeviceId:@""];
self.cloudSightQuery.queryDelegate = self;
[self.cloudSightQuery start];

但有时它会因以下原因而崩溃

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[ImageViewController cloudSightQueryDidFail:withError:]:无法识别的选择器发送到 实例 0x100514c40'

第一次抛出调用栈:

我如何能够捕获此错误并向用户显示响应而不是应用崩溃?

【问题讨论】:

    标签: ios objective-c error-handling cloudsight


    【解决方案1】:

    你看过回溯吗?您可以使用调试器(在 XCode 中)显示回溯。

    错误本身表明向该实例 (0x100514c40) 发送了无效的方法调用 [ImageViewController cloudSightQueryDidFail:withError:]。考虑到我们正在处理委托模式,似乎该方法从未在您的父类中定义过,并且它是协议所要求的。您需要确保先定义该方法,然后它才能工作。

    TL;DR - 您需要将此方法添加到您的委托(自身):

    - (void)cloudSightQueryDidFail:(CloudSightQuery *)query withError:(NSError *)error
    {
        // TODO: Fill in your logic here
        NSLog(@"query: %@, experienced an error: %@", query, error);
    }
    

    您可以在以下位置查看此示例:https://github.com/cloudsight/cloudsight-objc/tree/master/Example-objc

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 2013-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多