swift中可選類型個人總結

來源:互聯網
上載者:User

以下均為個人總結方便理解,不代表官方

一、定義

Objective-C中的nil:表示缺少一個合法的對象,是指向不存在對象的指標,對結構體、枚舉等類型不起作用(會返回NSNotFound)

Swift中的nil:表示任意類型的值缺失,是一個確定的值,要麼是該類型的一個值要麼什麼都沒有(即為nil)


二、申明

比如聲明一個Int類型的

代表申明可選Int類型的常量,初始值為1,Int。表示可選的Int類型,是可以為nil的,但是如果不加,則不可以賦值為nil(和OC中不同,可以賦值為0,但是不可以為nil)

var num: Int? = 1; 


三、用法

// let defaultAddress: String = nil // 錯誤用法

        let defaultAddress: String? = nil // 正確用法

        if let address = defaultAddress { // 如果defaultAddress有值或類型轉換成功,則將值賦值給address直接使用

            print("您的地址是\(address)")  // 使用address代替defaultAddress,且不需要加!強制解析

        } else {

            print("對不起,您不存在地址資訊")

        }

四、空白運算子

a ?? b,判斷a是否為nil,若a不為nil,則對a解鎖,否則返回b的值

比如 var a: Int?

a ?? 0,因為a為nil,這a賦值0

比如 var a: Int ? = 1

a ?? 2, 因為a不為nil,則a為1









相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.