Swift Package Index 列表 • 文档 • 兼容性
此包提供宏,使得解构带有关联值的枚举更加直接。
@CaseAccessors
宏向枚举类型添加计算属性,允许轻松检索关联值。
@CaseAccessors enum TestEnum {
case stringValue(String)
case intValue(Int)
case boolValue(Bool)
}
let enumValue = TestEnum.stringValue("Hello, Macros!")
if let stringValue = enumValue.stringValue {
print(stringValue) // Prints "Hello, Macros!"
}
第二个宏,@CaseConditionals
添加布尔计算属性,使得在枚举上执行条件检查更容易。
@CaseConditionals enum TestEnum {
case one, two, three
}
let enumValue = TestEnum.one
if enumValue.isOne {
// Do something
}
// The above is equivalent to
if case .one = enumValue {
// Do something
}
将以下内容添加到你的 Package.swift
文件中
let package = Package(
// name, platforms, products, etc.
dependencies: [
// other dependencies
.package(url: "https://github.com/rhysforyou/swift-case-accessors", "0.1.0"..<"0.2.0"),
],
targets: [
.target(
name: "MyTarget",
dependencies: ["CaseAccessors"]),
]
)