Swift 将枚举从一个模块转换为具有相同枚举名称的另一个模块
我的项目正在使用框架,框架和项目都使用相同的枚举值。但当我将param从主应用程序传递到模块控制器时,我发现它们是不同的,所以要做的就是转换它。我创建扩展名:Swift 将枚举从一个模块转换为具有相同枚举名称的另一个模块,swift,Swift,我的项目正在使用框架,框架和项目都使用相同的枚举值。但当我将param从主应用程序传递到模块控制器时,我发现它们是不同的,所以要做的就是转换它。我创建扩展名: extension Result { init(_ data: Messaging.MessagingResult) { switch data { case .authenticationFailed: self = .authenticationFailed
extension Result {
init(_ data: Messaging.MessagingResult) {
switch data {
case .authenticationFailed: self = .authenticationFailed
case .connectionError: self = .connectionError
}
}
}
现在我必须创建一个函数,它将把项目enum带回模块enum
let adaptedConsume = transform(from: self.consume)
这是正确的方法吗?转换函数应该是什么样子?我不知道我是否理解你的问题,但是假设你想做的是将一个枚举的值映射到另一个枚举,你可以使用
typealias
Swift使得将类型从Objective C映射到Swift变得非常重要
类似于typealias Result=Messaging.messagingsult
的东西应该可以工作
您可以从中了解有关typealis的更多信息。是否有错误?这似乎和您描述的一样。我需要转换函数的主体代码,它将module.enum更改为module1.enum