一个 Swift 属性包装器,用于自动将浮点值限制在 [0,1] 的闭合范围内。
选择 File
-> Swift Packages
-> Add Package Dependency
并输入 https://github.com/CypherPoet/UnitIntervalPropertyWrapper
。
您可以将 UnitIntervalPropertyWrapper
作为包依赖项添加到您的 Package.swift
文件中
let package = Package(
//...
dependencies: [
.package(
url: "https://github.com/CypherPoet/UnitIntervalPropertyWrapper",
.upToNextMinor(from: "0.1.0")
),
],
//...
)
然后,在您任何需要它的包目标中,将 UnitIntervalPropertyWrapper
称为 “target dependency” 。
targets: [
.target(
name: "YourLibrary",
dependencies: [
"UnitIntervalPropertyWrapper",
],
...
),
...
]
然后,只需在您想使用它的任何地方 import UnitIntervalPropertyWrapper
即可。
基本用法示例:
import UnitIntervalPropertyWrapper
struct AwesomePhoto {
@UnitInterval
public var opacity: Double
@UnitInterval
public var animationProgress: Double = 0.0
}
var photo = AwesomePhoto(opacity: 100)
photo.opacity // 1.0
photo.animationProgress // 0.0
photo.animationProgress = -2.2
photo.animationProgress // 0.0
此外,您可以随意使用 此项目的 Xcode Playground 以进一步探索。
非常欢迎对 UnitIntervalPropertyWrapper
做出贡献。查看一些 issue templates 以获取更多信息。
文档由 Jazzy 生成。安装说明可以在 这里 找到,一旦您设置好,只需从命令行运行 jazzy
即可生成文档。
📝 请注意,这只会生成 docs
文件夹供您在本地查看。此文件夹已被 git
忽略,因为存在一个 action 来自动在根级别生成文档并在项目的 gh-pages
分支上提供它们。
UnitIntervalPropertyWrapper
在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。