ios - 将错误传播到调用堆栈 - Objective C

标签 ios objective-c nserror

在典型的分层架构中,如何有效地将源自数据访问层的错误传达给 UIViewContoller

我有以下设计:

UIViewControllers --> datacontroller --> specificserviceproxy --> serviceproxybase

serviceproxybase 发起对 Web 服务的调用。我在调用 Web 服务上的操作之前检查网络可用性,并希望在网络故障时提醒用户。

最佳实践解决方案是什么?谢谢。

最佳答案

遵循我大部分 Cocoa-touch 所使用的模式。许多方法在出现错误时返回 nilNO,并且此类方法具有 NSError 输出参数,其中包含有关错误的详细信息。

您可以根据需要将结果和错误向上传播到各层。或者一个层可能会用更多特定于层的错误包装该错误并传递新的错误。

遵循此模式的示例方法是:

NSFileManager copyItemAtPath:toPath:error:
NSFileManager attributesOfItemAtPath:error:

关于ios - 将错误传播到调用堆栈 - Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149943/

相关文章:

java - libgdx robovm 在调用堆栈上具有非 native 帧的分离线程上崩溃

ios - 我无法在 Xcode 12 的 xib 中创建自定义 UIView

objective-c - 单击按钮时重置/重新初始化/重新启动 UIViewController View 的最简单(正确)方法是什么?

ios - 如何关闭 ios 中自定义文本字段的键盘

objective-c - [__NSArrayM 插入对象 :atIndex:]: object cannot be nil - how determine where is the error?

swift - 为什么 Error 总是 NSError?

ios - Swift:iOS - 通过第三类将数据从 ViewController 传递到 xib 文件

ios - 如何将手势切换回上一个 View ios?

ios - 如何通过按钮选择器将字符串参数传递给另一个方法?

ios - NSErrorDomain 用于打包 HTTP 结果代码?