gpt4 book ai didi

ios - 如何捕获在 iOS 模拟器中抛出的 NSError 实例

转载 作者:行者123 更新时间:2023-11-29 10:45:06 30 4
gpt4 key购买 nike

我正在使用 Rubymotion 开发一个 iOS 应用程序,在我添加一个新的 UIViewController 之前它工作得很好。我已经通过 xcode 添加了 Controller ,并且只有一个 UITextField 作为其中的一个元素。在运行模拟器并显示这个特定场景时,我得到了一个 NSError 实例。我也没有在屏幕上看到 UITextField 元素。

谁能解释一下它是什么以及我如何处理 NSError 并理解它?

此时任何帮助都会有很大帮助。

更新:每次我的应用程序首先启动时,我都会获取 NSError 实例,无论 Controller 是什么。我昨天升级到 Xcode 5.1。想知道这是否与错误有关。

更新 2:这是我的困惑造成的。我曾假设 NSError 是在升级到 Xcode 5.1 后引发的,并认为这是一些错误。原因是我在升级到 5.1 的同时开始使用推送通知。由于推送通知在模拟器中不起作用,因此模拟器返回了 NSError。搞砸了很多时间,花了好几个小时试图调试这个问题。

最佳答案

NSError 是一个类,它被用作处理 objective-c 错误的首选方法。通常它是这样工作的:您声明一个 NSError 指针并将地址发送到该地址作为参数发送给可能会失败的方法。如果方法中出现问题,将创建一个 NSError 对象并填充有关错误的信息,当方法返回时,您可以检查错误对象以判断是否出现任何问题。

NSError *error;
[someObject someFunctionWithParam:paramOne andError:&error];
if ( error ) {
// Here you can inspect the error and act accordingly
NSLog(@"%@", [error localizedDescription]);
}

如果您是实现方法的人,它通常看起来像这样。

- (void)someFunctionWithParameter:(NSString *)argOne andError:(NSError **)error {
// something goes wrong
*error = [NSError errorWithDomain:@"SomeDomain" code:500 userInfo:@{@"infoKey": @"some info"}];
}

那么关于你的问题的标题。没有捕获 NSError,因为它们没有被抛出。仅抛出异常。

关于ios - 如何捕获在 iOS 模拟器中抛出的 NSError 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22680180/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com