我想在一个if语句中解开两个可选项,但编译器投诉关于预期表达式后的操作符密码常量。
可能是什么原因?
可能是什么原因?
if let email = self.emailField?.text && let password = self.passwordField?.text { //do smthg }
在Swift中完成。
好消息。现在Swift 1.2(XCode 6.3测试版,发布于2/9/15)支持在一行中展开多个可选项。
不需要更多的元组/开关模式匹配。它实际上非常接近你原来建议的语法(感谢听,苹果!)
if let email = emailField?.text,password = passwordField?.text { }
另一个很好的事情是你也可以添加在“守卫条件”:
var email: String? = "baz@bar.com" var name: String? = "foo" if let n = name,e = email where contains(e,"@") { println("name and email exist,email has @") }