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

swift3.0 unexpectedly found nil while unwrapping an Optional

发布时间:2020-12-14 06:13:01 所属栏目:百科 来源:网络整理
导读:首先来说一些Swift中的Optional,译为可选项,他是一个枚举类型,有以下两个值 1. none:表示没有值 2. some:某一类值 原始可选项的定义: 1 1 let x: Optional = 10 简单的定义: 1 2 1 2 // '?' 用来定义 y 是一个可选的 Int 类型,可能没有值,也可能是一个整数le

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


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

原始可选项的定义:

 
 
  • 1
  • 1
let x: Optional = 10

简单的定义:

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

    此时打印 x 和 y

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
    • 1
    • 2
    • 3
    • 4
    • 5
    print(x) print(y) //控制台显示如下 Optional(10) Optional(20)

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

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

      
      
  • 1
  • 2
  • 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不是任何数据类型,不能参与计算

    转自:http://blog.csdn.net/feng2qing/article/details/53453135

    (编辑:李大同)

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

      推荐文章
        热点阅读