Swift 3:日期vs NSDate?

前端之家收集整理的这篇文章主要介绍了Swift 3:日期vs NSDate?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
NS和非NS类有什么区别?特别是NSDate vs Date? NS代表核心非NS功能的某种类型的包装器?
Swift 3引入了一些新的重叠值类型
基础类类型,例如NSDate的Date,Data for
NSData等等.完整的列表和详细信息可以在中找到

> SE-0069 Mutability and Foundation Value Types

一些原因是

>提供适当的价值语义,
> let和var而不是可变的和不可变的变体,
>更多“Swifty”API.

新的覆盖类型应提供所有功能
相应的基础类型有,但如有必要,您
可以随时从一种类型转换到另一种类型.

现有的基础API
导入Swift,类型自动桥接.

关于Date和NSDate:Date是一个值类型
并且可以是常数或变量:

var date = Date()
date += 10.0 // Add 10 seconds

而NSDate是一个参考类型,是不可变的.
也是日期是可比的

let date1 = Date()
let date2 = Date()

if date1 < date2 { }

而NSDates只能与.compare()进行比较.

备注:对于这些“覆盖类型”,值类型(struct)
如Date及其基础对象(class),如NSDate
是不同的类型,都可以从Swift使用.
不能混淆

> SE-0086 Drop NS Prefix in Swift Foundation

其中NS前缀被简单地删除为某个基础课程,例如NSBundle更名为Swift 3的Bundle.

猜你在找的Swift相关文章