swift 学习计划(一)解包、隐式解包的可选变量
2016-04-23 00:00
393 查看
摘要: 解包、隐式解包的可选变量
解包(!的用法)
· 可选类型在每次访问的时候 都会提取并检测它的值是否存在,但有时候根据程序结构就可以推断 可选量在首次赋值后 必然存在值,这时候,就不需要每次验证值是否存在,如果确定一个可选量的值一定存在,那么我们使用!进行解包获取它的值,或者使用Optional Binding
隐式解包的可选类型
· 把 隐式解包可选类型 当成自动解包的可选类型。即不是每次使用的时候,在变量/常量后面加!,而是直接在定义的时候加!,这些可选量定义为隐式解包的可选量(implicitly unwrapping optional)。
· 隐式解包的可选量的声明格式为:在希望标为可选的类型名称后面,用感叹号!代替问号?
· 隐式解包的可选类型主要用在一个变量/常量在定义瞬间完成之后值一定会存在的情况。主要用在类的初始化过程中。
总结:!的使用场景
1· 强制对 可选量 进行解包
2· 声明 隐式解包的可选类型的时候,一般用于类中的属性
解包(!的用法)
· 可选类型在每次访问的时候 都会提取并检测它的值是否存在,但有时候根据程序结构就可以推断 可选量在首次赋值后 必然存在值,这时候,就不需要每次验证值是否存在,如果确定一个可选量的值一定存在,那么我们使用!进行解包获取它的值,或者使用Optional Binding
let possibleString : String? = "An optional string" print(possibleString) //解包,确定possibleString的值一定存在,不需要每次都验证他的值是否存在 let stringValue = possibleString!.hashValue //必须解包,才能获取可选量的属性或者方法,否则会出现如下异常信息 //Value of optional type 'String' not unwrapped,did you mean to use "!" or "?" //Optional Binding,等价于上面一行 if let value = possibleString{ let stringvalue = value.hashValue }
隐式解包的可选类型
· 把 隐式解包可选类型 当成自动解包的可选类型。即不是每次使用的时候,在变量/常量后面加!,而是直接在定义的时候加!,这些可选量定义为隐式解包的可选量(implicitly unwrapping optional)。
· 隐式解包的可选量的声明格式为:在希望标为可选的类型名称后面,用感叹号!代替问号?
· 隐式解包的可选类型主要用在一个变量/常量在定义瞬间完成之后值一定会存在的情况。主要用在类的初始化过程中。
let assumedString : String! = "An implicitly unwrapping optional string" print(assumedString) print(assumedString.hashValue)
总结:!的使用场景
1· 强制对 可选量 进行解包
2· 声明 隐式解包的可选类型的时候,一般用于类中的属性
相关文章推荐
- swift自学笔记(七)(可选类型、隐式解包、可选绑定)
- swift-隐式解包
- Swift之分支
- Swift常量与变量、类型转换
- Swift体验
- Swift Modules for React Native
- Swift - 类型判断is 与 类型转换as
- Swift 学习博客
- swift 学习计划(一)元组、Optional可选类型
- # Swift2.0基本语法 常用数据类型
- Swift中Debug和Release两种状态下print()函数调试切换
- swift全局变量定义与使用
- 国外的一些swift大牛演讲视频
- 自定义倒计时按钮swift版
- Swift基础知识(持续更新)
- 在swift下 代码加载xib
- Swift闭包
- swift实现的Dont Tap the Red Button游戏iOS源码
- Swift开发参考书籍
- 利用UIWebView打造一个炫酷的视频背景视图(OC & Swift)