[swift]亲爱的 Erica,请帮我 guard 变量的值为空的情况

2016-08-19
阅读 1 分钟
1.6k
你好,我想知道针对下面这个在 Swift 中出现的特定情况是否有更优雅的解决方法 -- 假设你想要在继续执行后续的代码前,检测一个特定的变量是否为空;通常是会做相反的事情(检测变量是否为有值)。我一般是这么写的:

模式匹配第四弹:if case,guard case,for case

2016-06-06
阅读 6 分钟
4k
现在我们来重新回顾下前三弹模式匹配的各种语法 第一弹,第二弹,第三弹,第四弹是本系列的最后一篇文章,本章会教大家使用 if case let,for case where 等一些高级语法,让我们拭目以待吧!

对比 attempt、try? 和 try!

2016-04-15
阅读 3 分钟
2.8k
在 Swift 中,try? 关键字将一个可能会抛出错误的调用转变为一个可选值。它会返回成功值 (.some(T))或 nil (.none)。使用 try? 允许您在 guard 语句中使用会抛出错误的代码,还允许您中断错误处理链并离开当前作用域,然后进入专门用于处理成功状态闭包的条件绑定当中。

使用 guard 的正确姿势

2016-02-14
阅读 5 分钟
3.8k
guard 是 Swift 2 中我最喜爱的特性之一。虽然完全不使用 guard 也没有什么影响,它只是给我们提供了更微妙的句法表达,但是如果能够正确使用 guard 语句,无疑是一件令人愉快的事。它可以让我们的方法表意更加明确,更易于阅读,它能够表达『提前退出』的意图,同时提高了程序的健壮性。

关于 guard 的另一种观点

2016-01-14
阅读 4 分钟
2.3k
今天,iOS Dev 周刊 贴出一篇 Alexei Kuznetsov 的关于『从你的代码中删除 guard 』的文章。Kuznetsov 指出支持他这篇文章的理论依据主要来自于 Robert C. Martin,这位世界顶级软件开发大师提出:代码必须精简。即关于函数存在两条规则,第一条:函数应该保持精简;第二条:没有最精简,只有更精简。Alexei Kuznetsov ...