我的项目正在使用框架,框架和项目都使用相同的枚举值。但是,当我将参数从主应用程序传递到模块控制器时,我发现它们并不相同,因此方法是将其转换。我创建扩展:
extension Result {
init(_ data: Messaging.MessagingResult) {
switch data {
case .authenticationFailed: self = .authenticationFailed
case .connectionError: self = .connectionError
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我必须创建将项目枚举带回到模块枚举的函数
let adaptedConsume = transform(from: self.consume)
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?变换函数应该是什么样子
小智 5
我不知道我是否理解你的问题,但假设你想要做的是将一个枚举的值映射到另一个枚举,你可以使用typealias它来做到这一点。
Swift 使得将类型从 Objective C 映射到 Swift 变得很容易。
类似的东西typealias Result = Messaging.MessagingResult应该有效。
您可以从Swift 文档了解有关 typealis 的更多信息。
| 归档时间: |
|
| 查看次数: |
693 次 |
| 最近记录: |