002-オプションによるパッケージ解除
1124 ワード
1、オプションで強引に解く
使用!オプションでパッケージを解く
??簡単な三目演算です.値がある場合は、値を使用します.値がない場合は、??を使用します.代替
使用!オプションでパッケージを解く
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
demo(x: 10, y: 20)
}
func demo(x:Int?, y:Int?) {
//
print(x! + y!)// :30
}
2、でもそのまま使う!パッケージを強制的に解くにはリスクがあります.空の値が入力されると、プログラムがクラッシュします.override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
demo(x: 10, y: nil)
}
func demo(x:Int?, y:Int?) {
//
print(x! + y!)// y:nil, swift
}
3、強引な解包によるリスクを解決し、使用??オプションの解包を解決します??簡単な三目演算です.値がある場合は、値を使用します.値がない場合は、??を使用します.代替
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
demo1(x: 10, y: nil)
}
func demo1(x:Int?, y:Int?) {
print((x ?? 0) + (y ?? 0))
// :10
}
小結:使用??強引な解包によるリスクを解決することができます