guard语句
0.guard语句.jpg好处:
1.进行可选项绑定之后,绑定的变量可以在外层作用域使用。
2.可减少条件语句的嵌套分支
如下代码:
if let userName = login.userNameOK {
if let password = login.passwordOK {
// 登录处理
...
} else {
fatalError("login wrong")
}
} else {
fatalError("login wrong")
}
guard
let userName = login.userNameOK,
let password = login.passwordOK,
else {
fatalError("login wrong")
}
// 登录处理
...
隐式解包
0.隐式解包.jpg初始化的时候使用了“!”,再使用的时候就不用再使用“!”进行强制解包了。
隐式解包并不能保证解包的变量不是nil,只有在确定这个变量不是nil的情况,我们才能放心使用隐式解包。
尽量少用隐式解包,尤其对于后台返回的数据,使用Optional Binding避免崩溃。
网友评论