我正在用 Swift 3 编写一个使用 Firebase 的应用。我创建了自己的类,名为 User
。我想同时使用该类和 Firebase 的 User
类。 Firebase 的 User
类以前称为 FIRUser
,但在 Firebase 4 中进行了重命名(即 FIRUser.h
为 FIR_SWIFT_NAME(User)
)。
现在我不知道如何独立使用它们。每当我使用 User
时,我的代码都会认为我正在谈论我的 User
类(这是有道理的)。但是,当我无法再使用 FIRUser
时,如何引用 Firebase 的 User
类?
最佳答案
在升级到 Firebase 4 时,我遇到了完全相同的问题;)我做了 MacLean 答案已经建议的操作,但选择了项目范围解决方案。
在 Firebase.swift
文件中,我添加了以下 typealias
:
//
// Firebase.swift
//
import FirebaseAuth
/// Class `FirebaseAuth.User` conflicts with `MyApp.User`.
typealias AuthUser = FirebaseAuth.User
然后,在项目的其他地方,我在使用 Firebase 类时仅使用 AuthUser
,而对于我自己的类型则仅使用 User
。上述 typealias
具有内部
可见性,因此可在您的应用代码中使用。
根据您的代码库大小,这可能比使用每个文件解决方案提供更好的权衡。
关于ios - 消除本地类与 Firebase 重命名类的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47242520/