Swift-- 最让人蛋疼的就是? ! ??
来源:互联网 发布:淘宝好评怎么上传视频 编辑:程序博客网 时间:2024/04/29 07:38
可选类型: 代表着可以有也可以没有 OC中的Optional 等于 Swift中 ?
以后一旦看到一个方法或者数据类型后面有? , 就代表返回的是一个可选类型
// example:let name:String? = "DaiSuke"var url:String? = "www.baidu.com"// 都表示这两个变量的值可有可无,有值就是一个确定的值,比如DaiSuke,没有就是nil
初学者看到? 需要淡定一点, 因为从OC转入Swift之后, 最让人蛋疼的就是? ! ??
初学者对于? ! 最好借助编译器来解决问题
// example:let url = NSURL(string: "http://www.baidu.com/")print(url)// 不加!表示可选值optional,不一定要有值,可以为空print(url!)// 加!表示一定有值,必须有值,如果没值,为nil,你惨了报错,直接在编译器就给你砍掉
var url = NSURL(string: "http://www.baidu.com/")url = nilprint(url)print(url!) // 加!表示一定有值,必须有值,如果没值,为nil,你惨了报错,直接在编译器就给你砍掉
使用可选类型需要注意, 如果直接打印可选了类型, 那么打印出来的值会被Optional包裹
! 代表告诉编译器, 可选类型中一定有值, 强制解析
如果可选类型中没有值, 而又进行了强制解析, 那么程序就会崩溃
可选值的方法使用 ?? 操作符来提供一个默认值。如果可选值缺失的话,可以使用默认值来代 替。
??
let url3:String? = "hahaha"let url4 = "http://www.baidu.com/"print("\(url3 ?? url4)")
let url3:String? = nillet url4 = "http://www.baidu.com/"print("\(url3 ?? url4)")
?? 的作用正如代码写的那样,如果前者缺失值,就会用后者代替
0 0
- Swift-- 最让人蛋疼的就是? ! ??
- IOS Swift 弹出框的写法(就是Android的AlertDialog)
- 使用Swift 字典模型互转 就是这么简单
- 西瓜就是圆的
- 就是这样的!!
- 就是这样的.
- 早早的就是好
- 我就是这样的
- 人生就是快乐的
- 需要的就是这样
- 最近的就是这样
- 玩的就是心跳
- 要的就是性价比。
- 存在的就是道理
- 开始就是负分咋整的
- spring就是拉皮条的
- 就是这样的ziyousy
- 本来就是残酷的
- HDU 4310 Hero(贪心)
- Linux 地址定义
- 左侧抽屉视图效果的实现
- ELF文件和BIN文件
- 下拉刷新汇总
- Swift-- 最让人蛋疼的就是? ! ??
- 事务并发、事务隔离级别
- IOS(UI)_手势2(简单画板)
- Group by and Having用法解析
- 在谈runtime
- ViewDragHelper的简单分析(一)
- service启动activity同时需要得到activity里的某个对象实现方法
- 大型网站系统架构的演化
- C语言char单字符、字符串、字符数组(二)