17--swift之可选链
2016-03-13 00:00
288 查看
1.可选类型是枚举类型,有值,没有值
2.基本类型的变量必须先进行初始化,而可选不需要,基本类型必须有值,所以有局限性,没有可选类型表示的状态广泛
3.在访问可选类型之前需要解包,可选绑定
4.在oc中的变量相当于swift中的可选类型,所以在iOS开发中用oc编程时注意,该加问号的要加问号
var o: Int?
if let o1 = o{
print(o1)//先判断可选类型是否有值,再访问
}
5.通过可选链调用取得的返回值会被包装成一个可选类型的数据
6.通过可选链调用下标索引
可选值?. 属性
可选值?.方法
如何通过下标方法?可选值?[参数]
class d {
subscript(x: String)->Int{
return x.hashValue
}
}
var m = d()
var m1: d?
m1 = m
print(m1?["abc"])
7.可选链的赋值操作
class Person {
var name = ""
func wh()->String{
print("\(name)")
return name
}
init(name: String){
self.name = name
}
}
var p1:Person?
var p2:Person = Person(name: "tom")
p1 = p2
p1?.name = "hua hua"//赋值
print(p2.name)
2.基本类型的变量必须先进行初始化,而可选不需要,基本类型必须有值,所以有局限性,没有可选类型表示的状态广泛
3.在访问可选类型之前需要解包,可选绑定
4.在oc中的变量相当于swift中的可选类型,所以在iOS开发中用oc编程时注意,该加问号的要加问号
var o: Int?
if let o1 = o{
print(o1)//先判断可选类型是否有值,再访问
}
5.通过可选链调用取得的返回值会被包装成一个可选类型的数据
6.通过可选链调用下标索引
可选值?. 属性
可选值?.方法
如何通过下标方法?可选值?[参数]
class d {
subscript(x: String)->Int{
return x.hashValue
}
}
var m = d()
var m1: d?
m1 = m
print(m1?["abc"])
7.可选链的赋值操作
class Person {
var name = ""
func wh()->String{
print("\(name)")
return name
}
init(name: String){
self.name = name
}
}
var p1:Person?
var p2:Person = Person(name: "tom")
p1 = p2
p1?.name = "hua hua"//赋值
print(p2.name)
相关文章推荐
- swift:swift与oc代码互相调用
- Swift - Delegate
- oc swift 混编
- iOS8 Core Image In Swift:视频实时滤镜
- Swift 基础学习(内存管理二)
- swift 自定义图片轮播视图
- swift 构造函数(重载)
- swift 构造函数(必选参数)
- Swift 基础学习(内存管理)
- swift 2.0 与 OC 相比较,标签栏和导航栏书写的差别
- Swift 基础学习(指定构造方法和便利构造方法)
- Swift中@noescape介绍
- 浅析Swift中的命名空间
- Swift语言中手写代码执行动画效果
- 14--swift之派生类构造方法
- Swift 2.0中常见的bug (1)
- swift:ViewController中自定义tableView简单入门
- swift中try的使用和throws错误的抛出解决
- Swift-Array数组操作
- iOS开发之Swift标签栏按钮UITabBarItem样式修改(图标文字尺寸,颜色等)