swift 可选项 "?" 和 "!"
来源:互联网 发布:adhoc算法 编辑:程序博客网 时间:2024/06/06 01:23
1.可选项目的
解决“有” 和 “无”的问题
2.可选项定义
只能用" ?",表示变量可以为 nil ,或者有一个值
var mainVC:UIViewController? -> 只是定义,没有分配空间和初始值
3.可选项解包
(1). "!" 强行解包
目的是为了参与计算,但是存在风险,最好需要判断是否为nil(可以用 guard let || if let)
guard let value = response.result.valueas? [String:AnyObject] else{return}
(2). "?" 可选解包
不参与计算,主要用于调用方法。如果对象存在就调用方法,如果对象为nil就什么都不做
4.类型转换
(1). as?
前面的结果是可选的(guard let || if let 一定用as?)
(2). as!
前面的结果一定有值
(3). as 不需要类型转换,可直接用。因为底层做了结构体和 OC 对象的桥接
NSString -> String
NSArray -> []
NSDictionary -> []
0 0
- swift 可选项 "?" 和 "!"
- swift 可选项和隐式展开可选项
- Swift:optional 可选项的简易说明
- Swift中可选项的总结
- swift中的可选项详细剖析
- iOS 开发 -- Swift 语法篇 (二) 可选项
- 浅析swift 中常量&变量&Optional可选项
- Swift的一些基本属性3 (可选项)
- 004--swift基础语法(Optional 可选项)
- 三.可选项和控制流
- 可选项
- Swift基础1.2——基本语法—Optional 可选项
- SQLServer2008数据库创建过程和可配置选项
- ipv4头部可选项和ipv6头部的区别
- Swift中的选项集合
- Optional 可选项
- 可关闭选项卡
- Swift之可选型
- java.lang.IllegalArgumentException: Could not resolve placeholder 'orm.mybatis.basePackage
- 实战开发农商O2O在线交易系统—架构及数据库设计
- 新手求指教
- eclipse 汉化
- :target选择器 、三角形绘制、手风琴制作
- swift 可选项 "?" 和 "!"
- [内核源码][Makefile] Linux内核源码的Makefile
- Convert string to object (c#)
- caffe增加新的层
- UVA 247 Floyd算法
- windows的磁盘操作之十——获取磁盘型号
- tab切换优化
- 关于多属性查找问题的sphinx解决方案
- MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)