Swift基础篇——可选类型

来源:互联网 发布:做淘宝主播赚钱吗 编辑:程序博客网 时间:2024/06/05 15:42

可选类型

import UIKitvar str = "Hello, playground"// 可选类型/*:可选类型* 什么是可选类型: 一个变量可以有值也可以没有值, 我们就称之为可选类型* 在Swift中如果使用一个可选类型的变量/常量, 必须解包操作* 解包: 只需要在变量/常量后面加上 !* !含义: 代表告诉系统该变量/常量中一定有值, 如果强制解包一个没有值的常量/变量,那么会报错* 优点: 提高代码阅读性* 格式: 修饰符 变量名称:Optional<数据类型>        修饰符 变量名称: 数据类型?* 语法糖: 因为在Swift中可选类型用得非常非常多, 所以为了简化代码, Swift提供了一个语法糖, 可以用? 代替 Optional<数据类型>提示:对于初学者来说 ? ! 是最为头疼的语法, 刚开始的时候建议利用Xocde的语法提示来解决? !的问题*/let num: Optional<Int> = 99print(num!)let num1 =  66let sum = num! + num1let num2: Int? = 33print(num2)/*:可选类型注意点:* 在开发中一般情况下尽量不要强制解包一个可选类型, 否则会引发错误*/var url = NSURL(string: "http://www.baidu.com/")// 直接强制解包一个可选类型,可能会报错,如下:// url = nil// let request = NSURLRequest(URL: url!)// 一般有如下两种方式处理:// 方法一:先判断是否有值if url != nil{    let request = NSURLRequest(URL: url!)}// 方法二:用可选绑定处理:// 可选绑定: 如果url不为nil, 系统内部就会自动将解包之后的值赋值给temp, 并且只有temp有值时才会执行{}中的代码// Swift开发中推荐这种写法if let temp = url{    let request = NSURLRequest(URL: temp)}
0 0
原创粉丝点击