Optional 可選值

  1. 定義變量時,若是指定是可選的,表示該變量能夠有一個指定類型的值,也能夠是 nil程序員

  2. 定義變量時,在類型後面添加一個 ?,表示該變量是可選的app

  3. 變量可選項的默認值是 nil函數

  4. 常量可選項沒有默認值,主要用於在構造函數中給常量設置初始數值url

 //: num 能夠是一個整數,也能夠是 nil,注意若是爲 nil,不能參與計算let num: Int? = 10
spa

  • 若是 Optional 值是 nil,不容許參與計算code

  • 只有解包(unwrap)後才能參與計算orm

  • 在變量後添加一個 !,能夠強行解包對象

可選項:一個變量,能夠爲自己的類型,也能夠爲 nil
開發


// * 可選項不能直接計算string

// !  `強行解包 unwrapping` - 程序員承諾 y 必定有值,若是沒有,崩給我看!

// unexpectedly found nil while unwrapping an Optional value

// 每次寫 ! 的時候,都須要程序員思考,是否是有可能爲 nil!

    func demo1() {
        
        // 定義變量/常量若是須要指定類型 : 類型 的方式指定準確的類型
        let x: Double = 20
        print(x + 1.5)
        
        // 可選項 使用 ? 定義
        // y 能夠是一個整數/也能夠是 nil,若是是變量,默認是 nil
        // 注意:可選項在輸出的時候,會提示 `Optional`
        var y: Int? //= 10
        
        print(y)
        
        print(y! + 20)
    }

1. 明確可選項的概念!

2. 實際開發中,藉助 Xcode 智能提示,幫助修改!

3. 每次修改,都要思考爲何!

    func demo2() {
        let urlString = "http://www.baidu.com/中文"
        // 注意:構造函數若是有 `?` 表示不必定可以建立出對象
        let url = NSURL(string: urlString)
        
        print(url)
        
        // 注意:若是參數中,沒有 ? 表示必需要有值,若是爲 nil,就崩!
        if url != nil {
            let request = NSURLRequest(URL: url!)
            
            print(request)
        }
    }
相關文章
相關標籤/搜索