嘿,我有一个使用类型别名的代码,这样当用户没有正确注册时,它能够向用户发送错误代码,尽管我的类型别名不起作用,这给我带来了我的类(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/