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.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...