SwiftMeasurement 0.4.1

SwiftMeasurement 0.4.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期最后发布Nov 2021
SPM支持SPM

Ken Tominaga 维护。



  • Ken Tominaga

SwiftMeasurement

Version License Platforms

Swift中处理度量单位和单位最佳方式。

度量单位和单位是iOS 10中引入的新功能。

用法

  • 之前
Measurement<UnitLength>(value: 3, unit: .kilometers) + Measurement<UnitLength>(value: 4, unit: .kilometers)
  • 之后
3.kilometers + 4.kilometers

SwiftMeasurement支持Foundation框架中声明的所有单位。

  • 单位长度
  • 单位燃油效率
  • 单位电阻
  • 单位照度
  • 单位散度
  • 单位电荷
  • 单位体积
  • 单位能量
  • 单位角度
  • 单位时间
  • 单位温度
  • 单位频率
  • 单位功率
  • 单位电流
  • 单位电压
  • 单位加速度
  • 单位速度
  • 单位面积
  • 单位质量
  • 单位质量浓度
  • 单位压力

需求

当前版本与以下兼容:

  • Swift 5.0+
  • iOS 10或更高版本
  • macOS 10.12或更高版本

安装

SwiftMeasurement支持多种方法在项目中安装库。

使用CocoaPods安装

CocoaPods是一个Objective-C依赖管理器,可自动简化在项目中使用第三方库(如SwiftMeasurement)的过程。您可以使用以下命令安装它

$ gem install cocoapods

Podfile

要使用CocoaPods将SwiftMeasurement集成到Xcode项目中,请在您的Podfile中指定它

pod 'SwiftMeasurement'

然后,运行以下命令

$ pod install

使用Carthage安装

Carthage是一个去中心化的依赖管理器,可构建您的依赖并提供二进制框架。

您可以使用以下命令使用Homebrew安装Carthage

$ brew update
$ brew install carthage

要使用Carthage将SwiftMeasurement集成到您的Xcode项目中,请在您的Cartfile中指定它

github "ken0nek/SwiftMeasurement"

运行carthage以构建框架并将构建的SwiftMeasurement.framework拖放到您的Xcode项目中。

未来功能

  • 描述维度之间的关系。[L, M, T, L/T, L/T^2等...]
// Speed * Duration -> Length

func * (lhs: Measurement<UnitSpeed>, rhs: Measurement<UnitDuration>) -> Measurement<UnitLength> {
    let v = lhs.converted(to: .baseUnit()).value * rhs.converted(to: .baseUnit()).value
        return Measurement<UnitLength>(value: v, unit: .baseUnit())

}

let duration = 10.hours // 10.0 hr
let speed = 5.kilometersPerHour // 5.0 km/h

(speed * duration).converted(to: .kilometers) // 50.00004 km