我的项目正在使用框架,框架和项目都使用相同的枚举值。但是当我将param从主应用程序传递给模块控制器时,我得到它们并不相同,所以这样做就是转换它。我创建扩展名:
extension Result {
init(_ data: Messaging.MessagingResult) {
switch data {
case .authenticationFailed: self = .authenticationFailed
case .connectionError: self = .connectionError
}
}
}
现在我必须创建将项目枚举带回模块枚举的函数
let adaptedConsume = transform(from: self.consume)
这是正确的方法以及转换功能应该如何
答案 0 :(得分:2)
我不知道我是否理解了你的问题,但假设你想要做的是将一个枚举的值映射到另一个,你可以使用typealias
来做到这一点。
Swift使得从Objective C到Swift的类型映射很多。
像typealias Result = Messaging.MessagingResult
之类的东西应该有用。
您可以从Swift Documentation了解有关typealis的更多信息。