在Swift的早期版本中,我们使用NSTimer,但现在使用Timer。它背后的故事是什么?

问题描述 投票:-1回答:1

swift 5中NSTimer和Timer之间的差异。为什么我们将NSTimer和NSDate替换为简单的Timer和Date。你知道背后的故事吗?

swift xcode timer nsdate nstimer
1个回答
0
投票

通常,如果您看到可可NS类替换为缺少NS的类型,那么这就是Swift包装器。因此,例如,Objective-C类中的NSTimerTimer是一个Swift类,它封装了NSTimer(作为实现的细节,但将来可能会更改)。界面可能相同,但是在许多情况下,会有特定于Swift的更改。

类名前缀是ObjC约定。 NS代表“ NeXTSTEP”,是大多数Foundation类使用的前缀。 Swift通常不会在名称上添加前缀,因为它使用模块名称空间。因此,从风格上讲,Swift在创建特定于Swift的包装器时会删除NS前缀。

© www.soinside.com 2019 - 2024. All rights reserved.