gpt4 book ai didi

ios - Swift 中的 NSDate() 与 NSDate.date()

转载 作者:IT老高 更新时间:2023-10-28 11:41:30 28 4
gpt4 key购买 nike

我正在关注 Bloc.io Swiftris tutorial他们通过以下方式初始化日期:

lastTick = NSDate.date()

导致编译错误:

'date()' is unavailable: use object construction 'NSDate()'

应该等于:

NSDate *lastTick = [NSDate date];

(来自NSDate reference)

Apple 是否更改了 Swift interface to NSDate ,因为我见过其他使用 NSDate.date 的示例?

这只是 NSDate 还是不能为任何 Objective-C API 调用类型方法?

最佳答案

[NSDate date]是构造NSDate对象的工厂方法。

如果您阅读指南“将 Swift 与 Cocoa 和 Objective-C 一起使用”,其中有一节是关于与 Objective-C api 交互的:

For consistency and simplicity, Objective-C factory methods get mapped as convenience initializers in Swift. This mapping allows them to be used with the same concise, clear syntax as initializers.”

Excerpt From: Apple Inc. “Using Swift with Cocoa and Objective-C.” iBooks. https://itun.es/gb/1u3-0.l

所以工厂方法:

[NSDate date]

在 Swift 中被转换为初始化器

NSDate()

不只是在 NSDate 中可以找到这种模式,在其他带有工厂方法的 Cocoa API 中也是如此。

关于ios - Swift 中的 NSDate() 与 NSDate.date(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26628562/

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