我一直致力于开发一个框架,并且我决定创建自定义枚举来扩展错误协议,以便在遇到特定于域的错误时向主机应用程序报告。
IE
public enum MyCustomError: Error {
case customCase(message: String)
}
从主机应用程序我有一个响应回调,它是另一个具有关联值的枚举
IE
public enum MyCustomResponse {
case success
case error(Error)
}
主机应用程序中的表单我尝试通过执行以下操作来访问错误
IE
let responseHandler: (MyCustomResponse) -> Void = { response in
switch response {
case .error(let error):
if case let MyCustomModule.MyCustomError.customCase(theErrorMessage) = error {
print(theErrorMessage)
}
}
}
我得到的是来自编译器的消息告诉我MyCustomModule has no member named MyCustomError
。如果松散,MyCustomModule.
则编译器会抱怨Use of unresolved identifier 'MyCustomError'
。我正在导入MyCustomModule
,并且访问级别MyCustomError
是public
,任何有关如何解决此问题的想法将不胜感激。
谢谢
注意:我正在通过 cocoapods 版本开发我的框架,1.1.1
并使用 Xcode 8.2.1,swift 版本 3.0.2,支持 iOS 版本 8.0 及更高版本。
生成的界面
import Foundation
public enum MyCustomError : Error {
case customCase(message: String)
}