我在这里执行此代码

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

但是有时它由于以下原因而崩溃



如何捕获此错误并向用户显示响应,而不是应用程序崩溃?

最佳答案

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

错误本身表明有一个无效的方法调用[ImageViewController cloudSightQueryDidFail:withError:]发送到该实例(0x100514c40)。考虑到我们正在处理委托(delegate)模式,似乎该方法从未在您的父类中定义,并且协议(protocol)需要它。您将要确保先定义该方法,然后它应该起作用。

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

- (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

关于ios - iOS Cloudsight错误响应崩溃的应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43130597/

10-10 23:01