// 可选类型

// 可选类型: 这个值要么存在等于X,要么这个值根本就不存在

var serverResponseCode : Int? = 404 // ?的意思是这个只存在为404,要么这个值就不存在为nil

let possbileNumber = "123"

// let coverNumber: Int? = possbileNumber.toInt()

var responseCode: Int? = 404 // 要么存在为404

responseCode = nil  //  要么不存在为nil

// 可选类型类似于Objective-C中的指针nil的值,但是nil只对类(Class)有用,指对象不存在,而Swift中的nil不是指针,它代表特定类型的值不存在。任何类型的可选类的值都能赋值为nil,而不仅限于对象类型。

/*

1.Swift里面的nil,不能用于非可选类型

2.如果代码中的变量或常量需要适配值不存在的情况,务必将它声明为恰当的可选类型

3.如果定义的可选类型不提供默认值,默认为nil

*/

var strValue: String? = "hello"

let hasValue = strValue?.hashValue // 问号的意思是询问可选量是否响应后面的这个方法

print("hasValue is \(hasValue)")

/*总结 ?的使用场景

1.声明为Optional变量

2.声明为Optional变量,是否响应后面的这个方法

*/

转载于:https://www.cnblogs.com/fantasy3588/p/5074519.html

Swift 可选类型(补充)相关推荐

  1. swift可选类型_Swift可选

    swift可选类型 Swift Optional is a very important underlying concept in Swift programming. Optional is so ...

  2. Swift可选类型(Optional)之星耀

    首先我们先看下Objective-C与Swift语言对于可选nil的不同理解: Objective-C中的nil:表示缺少一个合法的对象,是指向不存在对象的指针,对结构体.枚举等类型不起作用(会返回N ...

  3. Swift——可选类型Optional

    Swift中有规定:对象中的任何属性在创建对象时,都必须有明确的初始化值. 注意:强制解包是非常危险操作,如果可选类型为nil,强制解包系统会崩溃 建议:在强制解包前,先对可选类型进行判断,判断是否n ...

  4. Swift中关于可选类型(?)与强制解析(!)的特性

    2019独角兽企业重金招聘Python工程师标准>>> Swift中问号表示这是一个可选类型,白话翻译:某个常量或者变量可能是一个类型,也可能什么都没有,我不确定它是否真的会有值,也 ...

  5. swift_010(Swift 的可选类型)

    //***********swift--1.3--可选类型--*************************** // (Optionals)即在某个数据类型后面加上问号(?)或感叹号(!) // ...

  6. 初探swift语言的学习笔记二(可选类型?和隐式可选类型!)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/28904115 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

  7. Swift之深入解析可选类型Optional的底层原理

    一.Optional 简介 Swift 的可选(Optional)类型,用于处理值缺失的情况,可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值". S ...

  8. Swift傻傻分不清楚系列(三)元组与可选类型

    本页包含内容: 元组 可选 nil if 语句以及强制解析 可选绑定 隐式解析可选类型 错误处理 断言 元组 元组(tuples)把多个值组合成一个复合值.元组内的值可以是任意类型,并不要求是相同类型 ...

  9. Object-C---gt;Swift之(二)可选类型

    可选和nil的恋情 先看一个例子吧!let str="hello world"let num:Int=Int(str) 这两行代码的意思str字符串转换成Int类型,嘿嘿!这不是坑 ...

最新文章

  1. QT的QCameraImageProcessing 类的使用
  2. 【Linux系统编程】进程的控制:结束进程、等待进程结束
  3. tf.nn.softmax
  4. linux x86-64下,Linux x86_64下安装Flash Player 9
  5. 【docker】为docker下的php容器安装php-redis扩展【编译安装】
  6. 【ElasticSearch】Es 源码之 SearchTransportService 源码解读
  7. opencv cv.findContours 函数详解
  8. linux下的系统服务管理及日志管理
  9. fiddler抓包后Jmeter实现登录接口
  10. mllib逻辑回归LogisticRegressionWithLBFGS LogisticRegressionModel源码分析
  11. 【办公自动化】基于Arcpy建立GIS三调转换工具箱,23万图斑shp文件分分钟转换完成
  12. 金蝶K3 各种单据及各种控制功能表的关系
  13. 经济学和金融学的区别
  14. 三国演义人物词频统计 -- Python
  15. mumu模拟机安装证书
  16. Sentiment Polarity Detection for Software Development
  17. SS00027.algorithm——|ArithmeticMachine.v27|——|Machine:项目实战.v04|竞争分析|
  18. wordexpansion包 | 新增词向量法构建领域词典
  19. 数据库的一些基础知识
  20. 计算机操作系统-中断

热门文章

  1. 音频处理中频域转时域的恢复
  2. 如何保证消息的顺序性
  3. Rabbit-用户上线接收消息
  4. 【每日一题】比较版本号
  5. 联想服务器升级微码文件,ThinkPad如何升级硬盘微码程序(适用于SL系列机器)
  6. itest系统学生登录不了_四川省中小学生艺术测评管理系统登录平台https://www.soyohui.com/app/165187/...
  7. matlab定子磁链观测器,一种基于二阶广义积分器的永磁同步电机定子磁链观测方法...
  8. python中in_python中的min和in用代码实现
  9. Python的零基础超详细讲解(第三天)-Python的基础语法
  10. 黑鲨科学计算机,科学技术篇:玩家注意黑鲨一口气发布两款重磅新品