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)
        }
    }
相关文章
相关标签/搜索