在 if 语句中展开多个选项

2024-03-13

我想在一个 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(使用前将#替换为@)

在 if 语句中展开多个选项 的相关文章

随机推荐

  • Spring Data JPA:当Collection类型的存储库方法参数为空时如何返回空结果?

    我正在使用 Spring Data JPA v1 10 2 还有一个用例 ClientDao java List
  • 从 R 内部关闭应用程序

    命令 browseURL filepath filename extension 使用当前与其关联的应用程序 在 Windows 中 打开文件 filename extension 例如 browserURL filepath docume
  • 如何在 ASP .NET MVC 3 中验证与另一字段相关的一个字段

    我有两个字段 例如电话号码和手机号码 就像是 Required public string Phone get set Required public string Mobile get set 但用户可以在其中之一输入数据 一是强制性的
  • 在嵌套指令中传递 ng-model

    我想将我的 ng model 从 外部指令 传递到 内部指令 包含在外部指令模板中 正确的做法是什么 HTML 代码
  • 合并两个 Tensorflow 数据集

    我有两个 Tensorflow 数据集 我分别处理它们以获得不同的特征和目标窗口 window size x 3 window size y 2 shift size 1 x np arange 10 y x 10 x x window s
  • 在脚本加载时运行 javascript 函数

    我正在使用 jQuery 我将所有函数定义都包含在 application js 中的 document ready 事件中 我有一个函数 我想在我正在处理的页面正文中的某个位置调用它 我想知道 ready 事件是否有一些替代方案可以在脚本
  • 如何在 Javascript 中测试相同的对象实例?

    假设我在 Javascript 中有以下对象 var a xxx 33 var b xxx 33 var c c a 可以告诉我是否正在处理同一个对象实例的 Javascript 测试是什么 换句话说 对于 a 和 b b 和 c 它应该返
  • iPhone上是否需要在代码中手动设置核心数据对象的逆关系

    我是核心数据的新手 所以如果我弄错了一些术语 请原谅 我的 xcdatamodel 文件中有几个对象 它们都是相互关联 相互关联的 如果我使用以下代码连接其中两个对象 则不会设置逆关系 managedObj1 setValue manage
  • 使用Java Reflection,你能检测一个方法是否是Native的吗?

    使用 Java Reflection 您可以检测所有方法及其返回类型 但是有没有办法检测一个方法是否被声明为native or not 是的 你可以 方法getModifiers 返回一个应用了正确掩码的 int 可以告诉您该方法是否是本机
  • 具有协调器布局的 ViewPager 片段中的 Android 设计支持库 FAB

    我正在尝试从 ViewPager 内的 Fragment 内的 Android 设计支持库获取浮动操作按钮 我有 4 个选项卡 我希望 FAB 仅位于其中一个选项卡中 我的布局如下 main layout xml
  • new ParseObject("Message") 使应用程序崩溃

    我正在尝试创建一个新的 ParseObject 如下所示 ParseObject message new ParseObject Message 当我运行该应用程序时 出现以下错误 java lang IllegalArgumentExce
  • 如何存储Android应用内计费的订阅数据?

    我正在尝试实施应用内计费 我的应用程序唯一销售的是每月订阅 我已经复制了 Android 提供的 地下城 示例 并且它可以工作 但对于我必须出售的一件东西来说 它似乎过于复杂 而且我知道无论如何我都不应该复制它 Dungeons 示例有一个
  • 响应标头太大 - Jetty 嵌入式版本 9

    使用 Jetty 时 出现 响应标头太大 的异常 该异常仅在客户端的大小达到时才会抛出jsonValue很大 大于 1500 字节 如果jsonvalue较小 一切正常 这是我的代码 非常简单 服务器代码 Server server new
  • 在 Web.Config 中添加 HtmlHelper NameSpace 不起作用

    问题一 我已经开始学习ASP NET MVC 我做了一个简单的扩展方法 如下所示 namespace MvcTestz Project is also named as MvcTestz public static class Submit
  • 删除视频缩略图上的黑条

    我有一个画廊 用户可以在其中提交视频的 Youtube 链接 服务器会自动从 Youtube 获取缩略图 然而 许多视频的图像顶部和底部都包含黑条 我知道黑条的起源 但当我将缩略图大小调整为正方形时 黑条会干扰设计 我尝试从上到下分析像素颜
  • 缺少 mcrypt 扩展名。请检查您的 PHP 配置

    我刚刚按照位于的教程进行操作https www digitalocean com community articles how to install linux apache mysql php lamp stack on ubuntu h
  • 完全隐藏 Chart.js 中的空条

    In my Chart js 条形图 每个标签大约有 6 个数据集 其中一些数据集的值为 0 这会导致 x 轴上出现空白 请参阅 我想删除这些空白 我该怎么做 从数据库呈现我的代码后 它看起来像这样 请注意 为了简单起见 我大大减少了代码
  • 如何将系统分解为模块?

    模块化 的有效性取决于将系统划分为模块所使用的标准 我想要的是 提出一些可用于将系统分解为模块的标准 Cohesion http en wikipedia org wiki Cohesion computer science 模块中的功能是
  • 如何在 Dragover/dragenter HTML 5 拖放过程中更改图标

    如何在 Dragover 或 Dragenter 过程中更改 DnD 拖放 图标 有可能吗 如果拖放源位于 html 页面内部 例如将一个 div 拖到另一个 div 中 我可以在拖拽启动期间更改图标 这是我的代码 我正在使用角度 我已经设
  • 在 if 语句中展开多个选项

    我想在一个 if 语句中解开两个选项 但编译器抱怨密码常量运算符后的预期表达式 可能是什么原因 if let email self emailField text let password self passwordField text d