gpt4 book ai didi

swift 3 : Date vs NSDate?

转载 作者:IT王子 更新时间:2023-10-29 05:02:42 24 4
gpt4 key购买 nike

NS 类和非 NS 类有什么区别?特别是 NSDateDateNS 是否表示围绕核心非 NS 功能的某种类型的包装器?

最佳答案

Swift 3 引入了一些新的覆盖值类型基础类类型,如DateNSDateDataNSData 等等。完整列表和详细信息可以在

中找到

一些原因是

  • 提供适当的值语义,
  • letvar 而不是可变和不可变变体,
  • 更多“Swifty”API。

新的覆盖类型应该提供所有的功能相应的基础类型有,但如果有必要,你总是可以从一种类型转换为另一种类型。

当现有的 Foundation API 是导入到 Swift 中,类型会自动桥接。

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

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

NSDate 是一个引用类型并且是不可变的。此外,DateComparable

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

if date1 < date2 { }

NSDate 只能与 .compare() 进行比较。

备注:对于这些“覆盖类型”,值类型(struct)例如 Date 及其对应的 Foundation(类)例如 NSDate是不同的类型,都可以在 Swift 中使用。它不能与

混淆

NS 前缀对于某些 Foundation 已经简单地删除了类,例如NSBundle 重命名 为 Swift 3 的 Bundle

关于 swift 3 : Date vs NSDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39811352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com