swift3 - NSCalendar.current 和 NSCalendar.currentCalendar() 之间的区别

标签 swift3 nscalendar

我正在努力访问 healthkit 的心率数据并按照此处的文档进行操作:https://developer.apple.com/reference/healthkit/hksamplequery 。他们调用使用以下代码片段

let calendar = NSCalendar.currentCalendar()
let now = NSDate()
let components = calendar.components([.Year, .Month, .Day], fromDate: now)

然而,调试器捕获 NSCalendar.currentCalendar() 因为无法调用非函数类型日历的值。我按照 IDE 的建议将其更改为 NSCalendar.current,但是第三行出现问题,指出它无法在属性初始值设定项中使用实例成员“calendar”。

所以我的问题是 NSCalendar.current 和 NSCalendar.currentCalendar() 之间有什么区别,我做错了什么?

非常感谢您提供的任何帮助。

最佳答案

区别在于您使用的是 Swift 3,但查看的是 Swift 2.x 的说明。 API 已更改。这是 Swift 3 的等效项:

let calendar = Calendar.current
let now = Date()
let components = calendar.dateComponents([.year, .month, .day], from: now)

关于swift3 - NSCalendar.current 和 NSCalendar.currentCalendar() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40120367/

相关文章:

ios - 在Celander中选择日期可以使用iOS中的Vurig-Calendar库给我以前的日期

ios - 使用按钮将数据传递到另一个 UIViewController

ios - Firebase 推送通知不起作用

amazon-web-services - AWS 上的 Realm 对象服务器 (ROS) : how to make a valid Websocket request?

ios - NSCalendar currentCalendar 在 cocoapod 内部调用时返回 nil?

ios - CVCalendar iOS 禁用日期在更改月份时不起作用

swift - 迄今为止的数字 - Swift

ios - 重新加载时 TableView 标题向下移动。 Swift-iOS

ios - 如何在新行将 JSON 数组数据打印到 Swift3 中的 UILabel

cocoa - 如何在 cocoa 度过周末和工作日?