Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将枚举从一个模块转换为具有相同枚举名称的另一个模块_Swift - Fatal编程技术网

Swift 将枚举从一个模块转换为具有相同枚举名称的另一个模块

Swift 将枚举从一个模块转换为具有相同枚举名称的另一个模块,swift,Swift,我的项目正在使用框架,框架和项目都使用相同的枚举值。但当我将param从主应用程序传递到模块控制器时,我发现它们是不同的,所以要做的就是转换它。我创建扩展名: extension Result { init(_ data: Messaging.MessagingResult) { switch data { case .authenticationFailed: self = .authenticationFailed

我的项目正在使用框架,框架和项目都使用相同的枚举值。但当我将param从主应用程序传递到模块控制器时,我发现它们是不同的,所以要做的就是转换它。我创建扩展名:

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