- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
嘿,我有一个使用类型别名的代码,这样当用户没有正确注册时,它能够向用户发送错误代码,尽管我的类型别名不起作用,这给我带来了我的类(class)突然出现的问题当我使用类型别名时成为错误类型,有人可以告诉我为什么会这样。
我的代码
import Foundation
import UIKit
import FirebaseAuth
typealias Completion = (errMsg: String?, data: AnyObject?) -> Void
class AuthenticationDatabase{
var database = Database()
func register(user: [UITextField], onComplete: Completion?)-> String{
Auth.auth().createUser(withEmail: user[0].text, password:user[1].text) { (user, error) in
if(error != nil){
self.handleFirebaseError
}
}
}
func Login(UserInfo: [String]){
}
func logOut(){
}
func handleFirebaseError(error: NSError, onComplete:Completion?){
print(error.localizedDescription)
if let errorCode = AuthErrorCode(rawValue: error.code){
switch (errorCode){
case .errorCodeInvalidEmail:
onComplete?(errMsg: "Invalid Email", data: nil)
break
case .errorCodeWrongPassword:
onComplete?(errMsg: "invalid Password", data: nil)
break
default:
onComplete?(errMsg: "There was a problem Authenticating. Try again.",data: nil)
}
}
}
}
最佳答案
在 Swift 3+ 中,闭包中的参数标签被省略
typealias Completion = (String?, AnyObject?) -> Void
(强烈建议使用Any
而不是AnyObject
)
并调用它
onComplete?("Invalid Email", nil)
关于swift - typealias swift 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52687828/
没有正确表达式类型的类型别名有什么作用? 在示例中,当另一个类型别名已存在于 BooleanLiteralConvertible 之外时,在 BooleanLiteralConvertible 中创建
作为一项学习练习,我正在尝试编写一个小型函数库。我的库中的许多函数都需要传入函数。我想为该函数“键入别名”,以便我的库的用户必须传入具有特定签名的函数。 我已经试过了: typealias Callb
我想使用 Class1 类中定义的别名。我想将它用于 Class2 import UIKit class Class1: NSObject { typealias tp = () -> Voi
我已经看到这个技巧来实现(比方说)图像类 UIImage/NSImage 的平台无关接口(interface): #if os(iOS) import UIKit typealias
我是 C# 的新手,习惯了 Swift,所以请多多包涵。 我想完全按照以下 Swift 代码描述的方式在 C# 中使用类型: typealias Answer = (title: String, is
在下面的代码中,当我直接引用 C.ID 而不是使用 ID 类型别名时,我得到一个错误,“type of expression is ambiguous without more语境”。如果它们都引用相
我真的只是加入这个社区来寻求解决一个特定问题的帮助,特别是关于如何声明一个以特定顺序保存各种信息类型的类型。对于上下文,我有下面使用的代码示例。 typealias Template = [Strin
嘿,我有一个使用类型别名的代码,这样当用户没有正确注册时,它能够向用户发送错误代码,尽管我的类型别名不起作用,这给我带来了我的类(class)突然出现的问题当我使用类型别名时成为错误类型,有人可以告诉
所以我写了一个与闭包有关的小练习程序。我试图更好地理解异步概念是如何工作的。当我尝试调用 request() 时,出现如下所示的转换错误: import UIKit let correctPassco
好吧,我已经完成了作业并阅读了我能找到的内容,但我似乎无法找到是否可以使用 Swift 来完成。我有一个到处都在使用的枚举:SomeEnum 如果它是 case 则它是一个冗长的 SomeEnum.S
根据Kotlin's lexer的出处, 有一个 typealias 关键字,它不像 yield 和 typeof 那样“保留供将来使用”。 另外,grammar reference建议 typeal
julia> typealias ERROR: UndefVarError: typealias not defined 它在 Julia:0.5 中有效,但在以上版本中无效 help?> typea
为什么编译失败?我试图减少重复的次数,因为在实际代码中类名很大,type 实际上是一个很长的名字 https://godbolt.org/z/8YarWs #include template str
我已经使用Kotlin的typealias定义了E164电话号码类型: typealias E164 = String 这使我在代码中传递电话号码时的意图更加清晰,而不仅仅是传递字符串。我认识到并没有
我的应用程序使用一个由 NSKeyArchiver 创建的文件,它引用了一个包含在外部框架中的对象。应用程序 Xcode 项目中不再提供外部框架。因此,当我尝试加载存档文件时,应用程序会在尝试解析此对
我有一个根对象,它主要由一个元组数组和一堆状态枚举组成。元组是这样描述的: typealias Program = [(Number, Statement)] 根对象目前是 NSCoding,但我想添
我有一个方法: public func someMethod(controller: Controller) { print(controller) typealias Handler
我有一个变量,它必须是 UIView,它也实现了 MTMathKeyboard 协议(protocol)。 我试过了, var keyboard: (UIView & MTMathKeyboard)
我正在处理一个多模块项目,该项目不再编译。设置是一些模块在另一个 git repo(repo“A”)中并将模块的 AAR 输出发布到 maven。然后另一个 git repo (repo "B") 通
我对 Kotlin 中的协议(protocol)组合有点生疏,我只想通过声明自定义 typealias 来组合多个接口(interface): // This doesn't work typeali
我是一名优秀的程序员,十分优秀!