学无止境,加油。
// swift 的可选值/可选类型
var para_a : NSString? = "snake"
var para_b : NSString? = nil
//var para_c : Int? = NULL X
var para_d :Int? = nil
//以上两种都是可以的, swift 好像没有 NULL 的样子
if (para_a != nil) {
print("para_a true") // para_a 不为空
}else{
print("para_a false")
}
if (para_d != nil) {
print("para_d true")
}else{
print("para_d false") // para_d 为空
}
//var para_e0 :NSString = para_b! X
//看起来似乎是对的, 运行崩了 = = , 原因是 我们强制解析 nil . 需要注意
var para_e :NSString = para_a! // 由于para_a 不是nil, 这里会有两种改法 1) NSString? 2)! 强制解析()
//可选的绑定
if var para_g = para_b { // 判断
print("para_g true", para_g) //
}
else{
// print("para_g false",para_g) 这里会有个现象, else 不能 识别 para_g
print("para_g") // 由于判断为 nil , 打印了 para_g
}
// 隐式解析
var para_f :NSString! = para_a // 这是第三种改法 ,
// 隐式绑定
var para_h :NSString = para_f // 这里隐解析,没必要强制解析。 比可选就好很多。 可见这个 举措 对一些方法返回值 类型判断 有 帮助
//同时也要注意 nil , 一定要注意是否 为 特定的值 不为空