Swift 可选类型(补充)
// 可选类型
// 可选类型: 这个值要么存在等于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 可选类型(补充)相关推荐
- swift可选类型_Swift可选
swift可选类型 Swift Optional is a very important underlying concept in Swift programming. Optional is so ...
- Swift可选类型(Optional)之星耀
首先我们先看下Objective-C与Swift语言对于可选nil的不同理解: Objective-C中的nil:表示缺少一个合法的对象,是指向不存在对象的指针,对结构体.枚举等类型不起作用(会返回N ...
- Swift——可选类型Optional
Swift中有规定:对象中的任何属性在创建对象时,都必须有明确的初始化值. 注意:强制解包是非常危险操作,如果可选类型为nil,强制解包系统会崩溃 建议:在强制解包前,先对可选类型进行判断,判断是否n ...
- Swift中关于可选类型(?)与强制解析(!)的特性
2019独角兽企业重金招聘Python工程师标准>>> Swift中问号表示这是一个可选类型,白话翻译:某个常量或者变量可能是一个类型,也可能什么都没有,我不确定它是否真的会有值,也 ...
- swift_010(Swift 的可选类型)
//***********swift--1.3--可选类型--*************************** // (Optionals)即在某个数据类型后面加上问号(?)或感叹号(!) // ...
- 初探swift语言的学习笔记二(可选类型?和隐式可选类型!)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/28904115 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...
- Swift之深入解析可选类型Optional的底层原理
一.Optional 简介 Swift 的可选(Optional)类型,用于处理值缺失的情况,可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值". S ...
- Swift傻傻分不清楚系列(三)元组与可选类型
本页包含内容: 元组 可选 nil if 语句以及强制解析 可选绑定 隐式解析可选类型 错误处理 断言 元组 元组(tuples)把多个值组合成一个复合值.元组内的值可以是任意类型,并不要求是相同类型 ...
- Object-C---gt;Swift之(二)可选类型
可选和nil的恋情 先看一个例子吧!let str="hello world"let num:Int=Int(str) 这两行代码的意思str字符串转换成Int类型,嘿嘿!这不是坑 ...
最新文章
- QT的QCameraImageProcessing 类的使用
- 【Linux系统编程】进程的控制:结束进程、等待进程结束
- tf.nn.softmax
- linux x86-64下,Linux x86_64下安装Flash Player 9
- 【docker】为docker下的php容器安装php-redis扩展【编译安装】
- 【ElasticSearch】Es 源码之 SearchTransportService 源码解读
- opencv cv.findContours 函数详解
- linux下的系统服务管理及日志管理
- fiddler抓包后Jmeter实现登录接口
- mllib逻辑回归LogisticRegressionWithLBFGS LogisticRegressionModel源码分析
- 【办公自动化】基于Arcpy建立GIS三调转换工具箱,23万图斑shp文件分分钟转换完成
- 金蝶K3 各种单据及各种控制功能表的关系
- 经济学和金融学的区别
- 三国演义人物词频统计 -- Python
- mumu模拟机安装证书
- Sentiment Polarity Detection for Software Development
- SS00027.algorithm——|ArithmeticMachine.v27|——|Machine:项目实战.v04|竞争分析|
- wordexpansion包 | 新增词向量法构建领域词典
- 数据库的一些基础知识
- 计算机操作系统-中断
热门文章
- 音频处理中频域转时域的恢复
- 如何保证消息的顺序性
- Rabbit-用户上线接收消息
- 【每日一题】比较版本号
- 联想服务器升级微码文件,ThinkPad如何升级硬盘微码程序(适用于SL系列机器)
- itest系统学生登录不了_四川省中小学生艺术测评管理系统登录平台https://www.soyohui.com/app/165187/...
- matlab定子磁链观测器,一种基于二阶广义积分器的永磁同步电机定子磁链观测方法...
- python中in_python中的min和in用代码实现
- Python的零基础超详细讲解(第三天)-Python的基础语法
- 黑鲨科学计算机,科学技术篇:玩家注意黑鲨一口气发布两款重磅新品