NS类和非NS类之间有什么区别?尤其是NSDateDateNS是否代表围绕核心非NS功能的某种类型的包装器?

推荐答案

Swift 3为现有设备引入了一些新的overlay value types

其中一些原因是

  • 提供适当的价值语义,
  • letvar,而不是可变和不变的变体,
  • 更多"快捷"API.

新的覆盖类型应提供以下所有功能:

当现有基础API

关于DateNSDate: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个前缀已被简单删除.

Swift相关问答推荐

当我点击模拟器中的文本字段时,UIKit CLLocationButton崩溃

体积单位从夸脱转换为杯似乎关闭了

在SwiftUI中使用自定义图像填充列表行的正确方法

在Swift中,是否只有iOS版本超过15才能导入Swift包?

如何在每天午夜重置布尔值

Result类型的初始值设定项失败?

在Swift中如何将NSUrl转换为本地路径URL

在Equatable上引用运算符函数==要求Dictionary.Values符合Equatable

在 Swift 的异步上下文中,如何指示我想要函数的同步版本?

如何在 SWIFTUI 中旋转修剪?

.onTapGesture 不适用于 Stepper,仅适用于其文本

为什么 `map(foo)` 和 `map{ foo($0) }` 返回不同的结果?

仅在 Swift 中创建 Setter

Swift 覆盖实例变量

Swift中switch 盒的详尽条件

UILabel 文本不换行

在 xcode8 中找不到 ModuleName-Swift.h 文件

UITableView 布局在 push segue 和 return 上搞砸了. (iOS 8、Xcode beta 5、Swift)

ISO8601DateFormatter 不解析 ISO 日期字符串

在这个例子中美元符号有什么作用?