unexpectedly found nil while unwrapping an Optional value的解释 && Swift中Optional

首先来说一些Swift中的Optional,译为可选项,他是一个枚举类型,有以下两个值


1. none:表示没有值
2. some:某一类值

原始可选项的定义:

let x: Optional = 10

简单的定义:

//'?'用来定义 y 是一个可选的 Int 类型,可能没有值,也可能是一个整数
ley y: Int? = 20

此时打印 x 和 y

print(x)
print(y)
//控制台显示如下
Optional(10)
Optional(20)

此时我们打印二者求和,编译器给出警告

根据编译器的提示,修改如下

print(x! + y!)
//打印结果为:30,且没有Optional关键字

此时我们回头把x的重新定义,其他代码不变,运行工程

let x: Int? = nil

此时程序崩溃到了print位置

同时控制台打印,意思是在解包的时候发现了nil值

Fatal error: unexpectedly found nil while unwrapping an Optional value”

Swift中,’!’:强行解包,从可选值中强行获取对应的非空值,如果真的遇见nil,程序直接崩溃.就是说不同类型之间的值不能直接运算!如果没有值是nil(Optional枚举中的none),nil不是任何数据类型,不能参与计算

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...