Swift 编程:从 Optionals 到函数式编程
1. Optionals 详解
在编程中,我们常常会遇到变量可能没有值的情况。在 Swift 里,Optionals 就是用来处理这种情况的强大工具。
1.1 隐式解包 Optionals
我们实际上声明了两个隐式解包的 Optionals。第一个是与按钮的连接,因为前面有 @IBOutlet ,所以我们知道这是一个连接。它被声明为隐式解包的 Optional,是因为连接要在初始化之后才会建立,但在视图的其他方法被调用之前,连接是一定会建立好的。
这就导致我们要隐式地解包第二个变量 buttonOriginalWidth ,因为我们需要等到连接建立后才能确定按钮的宽度。在 awakeFromNib 被调用之后,就可以安全地将 button 和 buttonOriginalWidth 当作非 Optional 类型来处理了。
需要注意的是,我们要深入到应用开发中才能找到隐式解包 Optionals 的有效用例,这可能是因为 UIKit 是用 Objective - C 实现的。这也再次证明了应该谨慎使用隐式解包 Optionals。
1.2 Optionals 调试
由于 Optionals 的存在,我们会经常遇到一些编译器错误。如果我们试图在一个 Optional 上调用本应在其包装值上调用的方法,就会出错。如果我们试图解包一个实际上不是 Optional 的值,同样会出错。此外,我们还需要
超级会员免费看
订阅专栏 解锁全文
99

被折叠的 条评论
为什么被折叠?



