加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift基础篇——可选类型

发布时间:2020-12-14 01:43:36 所属栏目:百科 来源:网络整理
导读:可选类型 import UIKitvar str = "Hello,playground" // 可选类型 /*: 可选类型 * 什么是可选类型: 一个变量可以有值也可以没有值,我们就称之为可选类型 * 在Swift中如果使用一个可选类型的变量/常量,必须解包操作 * 解包: 只需要在变量/常量后面加上 ! * !

可选类型

import UIKit

var str = "Hello,playground"

// 可选类型
/*: 可选类型 * 什么是可选类型: 一个变量可以有值也可以没有值,我们就称之为可选类型 * 在Swift中如果使用一个可选类型的变量/常量,必须解包操作 * 解包: 只需要在变量/常量后面加上 ! * !含义: 代表告诉系统该变量/常量中一定有值,如果强制解包一个没有值的常量/变量,那么会报错 * 优点: 提高代码阅读性 * 格式: 修饰符 变量名称:Optional<数据类型> 修饰符 变量名称: 数据类型? * 语法糖: 因为在Swift中可选类型用得非常非常多,所以为了简化代码,Swift提供了一个语法糖,可以用? 代替 Optional<数据类型> 提示: 对于初学者来说 ? ! 是最为头疼的语法,刚开始的时候建议利用Xocde的语法提示来解决? !的问题 */
let num: Optional<Int> = 99
print(num!)
let num1 =  66
let sum = num! + num1

let num2: Int? = 33
print(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)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读