SWIFT Optional Value
SWIFT中有一个类型定义叫可选值,在变量类型后面加一个?号即可定义一个类型为Optional Value的变量,当在使用变量时要用到强制解包!.
如在页面上有一个可选输入年龄的框,在接受数据的时间就可能要定义一个可选值的变量.
var age:Int? = 10
var str:String = "Age is "+String(age!)
以下为从一个数组中取数据,然后判断是否存在值
var numberOfLegs = ["ant":6, "snake":0, "dog":4]
var possibleLegCount:Int? = numberOfLegs["fish"] //没有找到相应的键值将会返回nil
判断possibleLegCount是否是nil
if possibleLegCount == nil{
println("not found")
}else{
var legCount = possibleLegCount! //强制解包
println("fish's legs is \(legCount)")
println("fish's legs is \(possibleLegCount)") //用这种占位方式会自动解包
}
此时的possibleLegCount一定要是Optional Value类型,否则会报错.此时程序将会验证可选值是否可以正常解包,正常的话将会把值解包后赋值给legCount变量
if let legCount = possibleLegCount {
println("fish's legs is \(legCount)")
}
另外SWIFT中的可能值类型其实是一个Enumeration,如下代码将会打印"My name is Ken",如果将myName的值去掉将会打印"I don't have name"
var myName:String? = "Ken"
switch myName{
case .Some(let name):
println("My name is \(name)")
case nil:
println("I don't have name ")
default:
println("default")
}
最新文章
- iBatis.net 循环iterate,没有foreach
- 《深入浅出WPF》笔记三
- (08)odoo继承机制
- Linux档案与目录的管理
- 转载:奇异值分解(SVD) --- 线性变换几何意义(下)
- DIV+CSS规范命名大全集合
- 转载--C++ STL
- JS 打字机效果
- subplot的几个详细说明
- jQuery EasyUI API 中文文档 - 菜单按钮(menubutton)
- 用户空间网络提升 NFV 的性能
- jackson json转对象 json转集合 对大小写支持
- Python内置函数(59)——sorted
- Android开发——Notification通知的各种Style详解
- C“控制”Lua
- bootstrap-editable实现bootstrap-table行内编辑
- VS2017上使用RDLC Report
- SQL 优化经历
- sqlplus中设定行大小、页大小、字符列格式、数字列格式、清屏
- 嵌入式开发之hi3519---GPIO 按键驱动