UnitType 的 Swift 测量符号

标签 swift foundation measurement

刚接触 swift,从书本上学习。他们在示例中使用以下内容:

var stepsTaken : Measurement<UnitLength>

所以这表明stepsTaken是一个类型为Measurement<UnitLength>的变量

我在 Apple 开发人员文档和 UnitType 中查找了Measurement。我不明白(也没有找到解释)的是为什么 <> ?我知道您必须为测量提供 UnitType,但为什么要把它放在 < 和 > 之间?这是一种特殊的 Swift 表示法吗?我在 Swift 中查找了 Structs,但没有看到这样的符号...

我还观看了 WWDC 2016 第 238 场 session 的视频,他们在其中讨论了测量。他们使用相同的符号,但没有解释。

最佳答案

当我们创建一个测量时,我们给它一个值和一个单位。该单位成为测量的通用约束。

例如铁人三项 • 骑自行车25公里 • 3海里游泳 • 半程马拉松

让我们看看如何创建一些代表这些长度的测量

let cycleRide = Measurement(value: 25, unit: UnitLength.kilometers) 
let swim = Measurement(value: 3, unit: UnitLength.nauticalMiles) 
let marathon = Measurement(value: 26, unit: UnitLength.miles) + Measurement(value: 385, unit: UnitLength.yards)

马拉松的单位是,它是UnitLength的基本单位。这是因为我们为其添加了不同 UnitLength 实例的两个距离。

marathon.unit.symbol
swim.unit.symbol
cycleRide.unit.symbol

寻找半程马拉松:

let run = marathon / 2

总事件距离:

let triathlon = cycleRide + swim + run

关于UnitType 的 Swift 测量符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41893172/

相关文章:

ios - 淡入淡出字符串数组

arrays - 段错误: 11 when assigning label value from array

ios - Shinobi Donut 图表标签重叠

ios - 如何在 iOS 上使用 AVMutableComposition 和 CALayers

ios - swift 的 Foundation API 可用性问题

objective-c - 我应该保留 NSCalendar 对象以供持久使用吗?

measurement - 如何有效衡量开发者的工作时间?

swift - 将距离测量格式设置为公里或英制英里,而不是公制英里

c - 在c中运行一段时间的无限循环

ios - Adobe Creative SDK iOS Swift 'AdobeImageEditorPremiumAddOn' 不可用错误