快速成功枚举
让我们谈谈Swift中的错误处理。 如果您已经使用Swift一段时间了,那么应该想到两件事。 可选和try-catch块 。 他们为我们提供了很好的服务,并将继续这样做,但是让我们看看处理错误的另一种方法。
为什么?
Swift的可选类型很棒,但是有一个缺点。 出现问题时,我们不会收到错误消息。 这很糟糕,因为当涉及到我们要通过UI向用户报告操作失败的原因时,我们不得不说“由于nil而失败”
枚举怎么样?
因此,为了捕获可能的错误,我们希望我们的故障函数返回结果或ErrorType 。 那么,为什么不返回枚举而不是返回“ Optional(Result)”呢?
借助Swift的枚举具有关联值的能力,我们可以做这样的事情来保留有关出了什么问题的信息。
在这里,我们可以看到找不到Stevie的信息,并且已将其正确报告给我们的用户。 这比仅对可选选项执行if let / guard并在发生错误时返回null值要好得多。