swift - Swift 类型别名错误
问题描述
我开始学习 Swift,我目前正在学习一些教程,但我遇到了这个问题。
在我声明后:
typealias LoginHandler = (_ msg: String) -› Void;
我收到了这个错误:
元组元素不能有两个标签
我需要这个 LoginHandler 有一条消息并检索 void,以便我可以在我的登录函数中使用它来处理我的 Firebase 错误。
typealias LoginHandler = (_ msg: String) -› Void;
class AuthProvider {
private static let _instance = AuthProvider();
static var Instance: AuthProvider {
return _instance;
}
func login(withEmail: String, password: String, loginHandler: LoginHandler?){
Auth.auth().signIn(withEmail: withEmail, password: password, completion: {(user, error) in
if error != nil {
} else {
}
});
}
}
所以我一直在尝试不同的东西,但没有一个奏效。
解决方案
这不是正确的函数类型声明:
typealias LoginHandler = (_ msg: String) -› Void
您使用了错误的“大于”符号(unicode hex 203A)。
您的代码应如下所示:
typealias LoginHandler = (_ msg: String) -> Void
请注意构成“箭头运算符”(unicode hex 003E)的第二个字符的差异。
推荐阅读
- python - Jupyter 会话无法打开 csv 文件
- python - 有没有办法将 matplotlib Figure 实例组合在一起?
- java - 我们可以将 Java 中的最终重新排序规则视为发生在规则之前吗?
- c# - WeifenLuo.WinFormsUI.Docking Tab点击事件
- tensorflow - 使用 TensorFlow 1.15 和 tflearn 1.19 但此代码不起作用
- scala - 在 spark scala 中为 withcolumn 编写通用函数
- server - Cassandra 经常宕机,没有任何错误或异常
- html5-video - 对于不支持 HTML 5 的浏览器回退到 GIF 的最佳实践
- react-native - 如何在 createMaterialTopTabNavigator 上方添加组件?
- javascript - 如何在 VS Code 中将点表示法转换为括号表示法?