swift-可选值

本文介绍了Swift中可选值的概念及其使用方式,包括如何定义可选值、如何提取可选类型的值、如何判断可选值是否为空等。还介绍了可选项??的用法,它可以在nil时提供默认值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

swift的nil和OC有些不一样,OC只有对象可以用nil,swift基础类型(整形,浮点)没有值时也是nil,当初始化的时候,swift可以没有初始值的,产生了可选值Optional。

定义可选值很容易,只需在类型的后面加一个?就行。例如:var value:Int?

一个Optional值和一个非Optional值的区别,Optional值未经初始化虽然为nil,但普通变量连nil的没有。

var value:Int?
print(value) //nil

var value:Int
print(value) //直接报错


提取可选类型的值(强制解析)
Optional值不能被直接使用,因为可选值有两种状态,分别是有值和没值,所以我们需要告诉编译器是否有值

强制解析可选类型的值,只需在变量后加!就可以。

var value:Float?

var value2:Float = value!

print(value2)

注意:如果value没有值,会报运行时错误。

当我不知道 Optional是否有值,该怎么操作?

如果值不为nil,再执行后面的代码。


var value:Int? = 10

if let tmpValue = value {

print(tmpValue)

//    var result :Int = value!
//
//    var result2 :Int = value!
//
//    print(value)
//
//    print(result)
}

当你不确定可选值是否有值是,尽量使用if来判断一下

let url = NSURL(string: "www.baidu.com")
if let tmpUrl = url {
    NSURLRequest(URL: tmpUrl)
}

可选项:??,他可以对nil进行快速判断,??后面的值是参与计算的

var num:Int?
let result :Int = num ?? 0
print(result)

转载于:https://www.cnblogs.com/ldnh/p/5508024.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值