Swift 3为现有设备引入了一些新的overlay value types
其中一些原因是
let
和var
,而不是可变和不变的变体,新的覆盖类型应提供以下所有功能:
当现有基础API
关于Date
和NSDate
:Date
是一种值类型
var date = Date()
date += 10.0 // Add 10 seconds
而NSDate
是一个引用类型,不可变.
let date1 = Date()
let date2 = Date()
if date1 < date2 { }
而NSDate
秒只能与.compare()
秒相比.
Remark:对于这些"覆盖类型",值类型(struct)
在某些基础上,NS
个前缀已被简单删除.