1.基本的if
1.1 没有()
1.2 必须要有 {} 在很多公司的开发规范中,都是禁止不使用{ } 的!
1.3 条件判断,C 语言中有一个非零即真,Swift 中只有 true / false
1.4 示例:
//基本的 if
func demo(){
let x = 10;
if x > 10{
print("xxxx")
}
if x > 20 {
print("大了");
} else {
print("小了")
}
}
2.三目运算符
2.1 在 Swift 中,用的很多,由于 if语句 写的复杂
2.2 示例:
func demo1(){
let x = 2
x > 5 ? print("前") : print("后")
}
3.if let 语句
3.1 示例:
func demo2(){
let oName : String? = "张三"
let oAge: Int? = 20
if oName != nil && oAge != nil {
print("Mr " + oName! + "----" + String(oAge!))
}
//if let 可以设置数值,进入分支后,name 可以保证一定有值
if let name = oName {
print("Hi " + name)
}
//多值的设置,使用 , 分隔
//注意: if let 语句中不能
if let name = oName, let ages = oAge{
print("Hi " + name + " ---- " + String(ages))
}
}
4.guard 语句
4.1 是和 if let 刚好相反的指令
4.2 Swift 2.0 推出的语法
4.3 示例:
func demo3(){
let oName : String? = "张三"
let oAge : Int? = 20
guard let name = oName else{
print("name 为 nil")
return
}
guard let age = oAge else{
print("age 为 nil")
return
}
// 代码执行到此,name 和 age 一定有值
// 在实际开发中,复杂的代码在条件判断之后
// 使用 guard 会让嵌套层次少一层
print("Hi \(name) ---- \(age)")
}
5.OC中 switch
5.1 只能判断整数
5.2 case 中定义常量需要用{}
5.3 示例:
-(void)demo{
int index = 10;
switch (index) {
case 10:
case 9:{
NSString *name = @"老王";
NSLog(@"OK %@",name);
break;
}
default:
break;
}
}
6.switch 语句
6.1 不需要 break
6.2 不在局限在 对 int 的分支,可以对任意数据类型进行检测
6.3 各个 case 之间,不会穿透,如果有多个值,使用 , 分隔
6.4 定义变量,不需要使用{} 分隔作用域
6.5 在 swift 中,必须涵盖所有条件,每一个 case 至少包含一条语句
6.6 实例:
func switchDemo(){
//option + click 是开发中最重要的组合键
let number = "11"
switch number {
case "10","11":
let name = "老李"
print("\(name) 好")
case "8": print("良")
case "7": print("中")
case "6": break
default : break
}
}