我想在一个 if 语句中解开两个选项,但编译器抱怨密码常量运算符后的预期表达式。
可能是什么原因?
if let email = self.emailField?.text && let password = self.passwordField?.text
{
//do smthg
}
用斯威夫特完成。
好消息。现在支持在一行中展开多个选项斯威夫特1.2(XCode 6.3 beta,2015 年 2 月 9 日发布)。
不再需要元组/开关模式匹配。它实际上非常接近您最初建议的语法(感谢您的聆听,Apple!)
if let email = emailField?.text, password = passwordField?.text {
}
另一个好处是你还可以添加where
对于“保护条件”:
var email: String? = "[email protected] /cdn-cgi/l/email-protection"
var name: String? = "foo"
if let n = name, e = email where contains(e, "@") {
println("name and email exist, email has @")
}
参考:XCode 6.3 Beta 发行说明 http://adcdownload.apple.com//Developer_Tools/Xcode_6.3_beta/Xcode_6.3_beta_Release_Notes.pdf
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)