首先,我知道,问题的标题有点别扭。
我的应用程序中有一个名为 UserState
enum UserState {
...
}
我正在尝试在我的应用程序中使用 AWSMobileClient
库,但它还有另一个名为 UserState
的枚举,我正在尝试使用命名空间方式。
import AWSMobileClient
...
var foo: AWSMobileClient.UserState?
但是我收到一个错误,因为在 AWSMobileClient
命名空间中有一个名为 AWSMobileClient
的类。
我可以更喜欢只导入枚举而不是所有命名空间,但我还需要在同一个文件中使用 AWSMobileClient
类。
我还找到了使用 UserState
的肮脏解决方案,例如在不同的文件中定义类型别名。
在 A.swift
import enum AWSMobileClient.UserState
typealias AWSUserState = AWSMobileClient.UserState
在 B.swift
import AWSMobileClient
...
var foo: AWSUserState? // this works
但是对于这个问题应该有更好的解决方案。