三目运算、可选类型
2016-03-24 20:13
197 查看
//: Playground - noun: a place where people can play import UIKit let num = 10 if num == 5 { print("5") }else{ print("10") } /* 在OC中,if else 可以使用三目运算符来简写 注意:在做Swift开发中三目运算符用得频率非常高 */ let res = (num == 5) ? 5 : 10 print(res) /* 可选类型:代表可以有也可以没有 Optional */ /* convenience init?(string URLString: String) 但凡看到一个方法或者数据类型后面有?,就代表返回的是一个可选类型 使用可选类型需要注意,如果直接打印可选类型,那么打印出来的值会被Optional()包裹 初学者看到? 要谈定一点,因为从OC转入Swift之后,最让蛋疼的就是?、!、?? */ let url = NSURL(string: "http:/www.baidu.com") print(url) //"Optional(http:/www.baidu.com)\n" print(url!) //"http:/www.baidu.com\n" // ! 代表告诉编译器,可选类型一定有值,强制解析 // 如果可选类型中没有值,而又进行了强制解析,那么程序会崩溃 // Swift的用意就是让我们将大部分的运行时的错误,都编译时解决 if url != nil { let request = NSURLRequest(URL: url!) //这里的必须使用!强制解析,因为NSURLRequest不接受可选类型 } /* 可选绑定 */ // 这里会将url中的值取出来赋值给urlFinal变量,如果值不为nil,那么就可以进入{} if let urlFinal = url{ let request = NSURLRequest(URL: urlFinal) }
相关文章推荐
- HDU3586 Information Disturbing(树形DP)
- 操作系统实验一、 命令解释程序的编写
- 线段树(多棵) HDOJ 4288 Coder
- 我的ios 开发学习之旅!
- 【HPU】[1735]老王修马路(一)
- linux新手入门学习 - linux目录结构
- hud1875
- ffmpeg 解码流程
- 一个国外博士生Andrews Sobral收集和测试的64个低秩+稀疏矩阵/张量分解的算法库
- [原创]2016年测试岗位招聘感悟
- 最大公约数——414AMashmokh and Numbers
- 规范完整APP开发制作流程
- 看慕课网节日短信祝福UI自我总结实现过程
- lua eval
- 在bitnami集成环境下进行redmine的二次开发--开发环境的搭建
- navicat for mysql psc 没有数据或者只有部分数据(即有一部分表没有数据)
- 每天编程1
- Android 中文件类型与MIME的匹配表
- 【HPU】[1734]老王修公园
- Windows CMD