Swift 的可选值优化
在 Objective-C 中,nil 表示空对象,它本质是一个指向 0x00000000 的指针。但对于非指针的值类型,OC 中是无法表示没有值这个概念的,比如 NSInteger,它可以是 0,也可以是其他任何值,但就是不存在没有值。 Swift 作为一种强类型的语言,它从一开始就引入了没有值这个概念,虽然还是用 nil 关键字,但实际语义上有所不同。比如 Int? »
在 Objective-C 中,nil 表示空对象,它本质是一个指向 0x00000000 的指针。但对于非指针的值类型,OC 中是无法表示没有值这个概念的,比如 NSInteger,它可以是 0,也可以是其他任何值,但就是不存在没有值。 Swift 作为一种强类型的语言,它从一开始就引入了没有值这个概念,虽然还是用 nil 关键字,但实际语义上有所不同。比如 Int? »