Swift2.0(4)可选类型
2016-03-03 10:58
323 查看
可选类型
什么是可选类型?
可以被赋予nil值的类型,在类型后添加问号(?)
如Int类型的值为整型数,但不太好表示“空”的含义,Int?可以赋值为整型数和nil值
如:
var age:Int? = 3
var name:String? = nil
使用可选类型
print(age) //Optional(3)
print(age!) //3
!运算,用于解绑可选类型变量的值
注意:如果age为nil,使用!解绑将使程序崩溃
再如:
var age1:Int? = 3
var age2:Int;
age2 = age1!
隐式解绑的可选类型
定义变量时,将?替换成为!,如:
var age:Int! = 3
print(age) //3
print(age!) //3
可选链中的解绑
如:
class Department {
var no : Int = 0
var name:String = "neuedu"
var com:Company? = nil
}
class Company {
var no : Int = 0
var name : String? = "neusoft"
}
var dep = Department()
print(dep.com!.name)
dep.com使用!解绑时,如果为nil,程序会报错崩溃
这种情况下,可以使用?代替!解绑,如果为nil,则整个表达式为nil,即:
print(dep.com?.name) // nil
可选链使用潜在的问题:使用了?解析可选链后,表达式返回的只能是可选类型
如dep.com!.name? 想要返回的类型是String,但实际只能返回String?
什么是可选类型?
可以被赋予nil值的类型,在类型后添加问号(?)
如Int类型的值为整型数,但不太好表示“空”的含义,Int?可以赋值为整型数和nil值
如:
var age:Int? = 3
var name:String? = nil
使用可选类型
print(age) //Optional(3)
print(age!) //3
!运算,用于解绑可选类型变量的值
注意:如果age为nil,使用!解绑将使程序崩溃
再如:
var age1:Int? = 3
var age2:Int;
age2 = age1!
隐式解绑的可选类型
定义变量时,将?替换成为!,如:
var age:Int! = 3
print(age) //3
print(age!) //3
可选链中的解绑
如:
class Department {
var no : Int = 0
var name:String = "neuedu"
var com:Company? = nil
}
class Company {
var no : Int = 0
var name : String? = "neusoft"
}
var dep = Department()
print(dep.com!.name)
dep.com使用!解绑时,如果为nil,程序会报错崩溃
这种情况下,可以使用?代替!解绑,如果为nil,则整个表达式为nil,即:
print(dep.com?.name) // nil
可选链使用潜在的问题:使用了?解析可选链后,表达式返回的只能是可选类型
如dep.com!.name? 想要返回的类型是String,但实际只能返回String?
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 个人信息安全报告发布:有 APP 每分钟调用位置权限 1468 次
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- 下载量超过一亿的流行应用被发现含有恶意模块
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 苹果与Siri的七年之痒:“宫斗”戏码不断上演
- APP添加CNZZ统计插件教程 Android版添加phonegap
- Android APP与媒体存储服务的交互
- java实现收藏名言语句台词的app
- 修改Android App样式风格的方法
- Android App数据格式Json解析方法和常见问题
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略