ios - 消除本地类与 Firebase 重命名类的歧义

标签 ios swift firebase swift3 firebase-authentication

我正在用 Swift 3 编写一个使用 Firebase 的应用。我创建了自己的类,名为 User。我想同时使用该类和 Firebase 的 User 类。 Firebase 的 User 类以前称为 FIRUser,但在 Firebase 4 中进行了重命名(即 FIRUser.hFIR_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/

相关文章:

ios - 如何指定 iOS 应用运行的区域

ios - iOS 崩溃日志中回溯地址的含义?

ios - swift:长按手势识别器不起作用

ios - 在两个 UICollectionView 之间拖放

firebase - 无法在新的 android studio 更新中找到签名报告

firebase - 将大量数据导入 Firebase Firestore

ios - MPMusicPlayerControllerMutableQueue 插入 Apple Music 歌曲不起作用

swift - 在 ARImageTrackingConfiguration 中同时跟踪两个对象

json - Firebase 数据库搜索查询

ios - 使用 currentUser 更新用户信息时解析错误