【发布时间】:2019-04-02 13:57:16
【问题描述】:
我正在寻找类似的东西:
func extractRawValue(fromPossibleRawRepresentable value: Any) -> Any? {
return (value as? RawRepresentable)?.rawValue
}
我不介意提取的RawValue 是否需要是静态类型...
func extractRawValue<T: RawRepresentable, U>(fromPossibleRawRepresentable value: Any, expecting: U.Type) -> U? where T.RawValue == U {
return (value as? T)?.rawValue
}
上下文:我想在镜像中收集原始值而不是实际值。
let d = Mirror(reflecting: self).children.reduce(into: [String: String](), {
guard let label = $1.label else {
return
}
$0[label] = extractRawValue(fromPossibleRawRepresentable: $1.value)
}
【问题讨论】:
标签: swift generics reflection