定义可选项

可选项是所有 Objective - C 刚接触 Swift 时候,有点难度的问题

1. 明确可选项的概念

2. 实际开发中, 借助 Xcode 智能提示,帮助修改!

3. 每次修改,都要思考为什么! 示例代码:

 func demo4(){
        let urlString  = "http://www.baidu.com/中文"
        //注意: 构造函数如果有 '?' 表示不一定能够创建出对象
        let url = NSURL(string : urlString)
        
        print(url)
        
        //注意: 如果参数中,没有 ? 表示必须要有值,如果为 nil 就崩!
        if url != nil{
            let request = NSURLRequest(url: url! as URL)
            print(request)
        }
    }

4. 可选项: 一个变量,可以为本身的类型,也可以为 nil 示例代码:

func demo3(){
      //定义变量 / 常量如果需要指定类型 : 类型的方式指定准确的类型
      let x : Double = 20
      print(x + 1.5)
      
      //可选项 使用 ? 定义
      //y 可以是一个整数/也可以是nil,如果是变量,默认是 nil
      //注意: 可选项在输出的时候,会提示 Optional
      var y : Int? //= 10
        
      print(y)
      
      // * 可选项不能直接计算
      // ! - '强行解包' - 程序员承诺 y 一定有值,如果没有,就崩溃
      //每次写 !的时候,都需要去想,是不是有可能为 nil
      print(y! + 20)
    }

5. 替换运算符

  5.1 var 的可选项默认值是 nil

  5.2 let 的可选项没有默认值,必须要设置初始值

  5.3 示例

 func demo2(){
        let oName : String? //= "小李"
        //定义常量的时候,如果只指定了类型,没有设置初始值,可以有一次设置机会
        oName = "老李"
        if oName != nil {
            print(oName! + "好")
        }
       
        //?? 操作符号,可以判断之前的变量是否为 nil 如果为 nil,使用后面的替换
        print((oName ?? "") + "你好!")
        
        print("------")
        // ??运算符号优先级 ‘低’
        print(oName ?? "" + "你好!")
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hanyang Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值