我如何阅读这个 Swift 语法? [复制]

2023-12-01

我在用Vapor第一件事是使用 get 方法,如下所示:

drop.get("hello") { request in
    return "Hello, world!"
}

现在我的理解是闭包就像类型函数的变量。正确的?在这里我看到我们调用了一个方法get在一个实例上Droplet名为 drop 的类并传入一个字符串。

在 get 方法体内调用/传递闭包是怎么回事?我怎么读这个?


这就是所谓的尾随闭包语法。如果函数的最后一个参数是闭包,则可以将其放在花括号中,紧跟在前一个参数的右括号后面。

The get这里的方法有两个参数:String和一个带有一些签名的闭包,例如(Request) -> ()

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html#//apple_ref/doc/uid/TP40014097-CH11-ID102

您还会看到以下情况:only参数是一个闭包,就像map()数组上的方法。在这些情况下,可以完全省略括号,并将闭包写在紧跟在函数名称后面的大括号中,例如:

let lowerCasedWords = arrayOfWords.map{ $0.lowercased() }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何阅读这个 Swift 语法? [复制] 的相关文章

  • 如何在 Swift 中使用 CoreBluetooth 更新 BLE 设备的电池电量?

    func peripheral peripheral CBPeripheral didDiscoverCharacteristicsFor service CBService error Error for c in service cha
  • 二元运算符“/”不能应用于两个(Int)操作数[重复]

    这个问题在这里已经有答案了 我得到了Binary operator cannot be applied to two Int operands当我将以下代码放入 Xcode 中的 Swift Playground 时出错 func sumO
  • 在 UITableViewController 中重新排序行后 UI 更新不正确

    因此 我对表中的行重新排序 用户界面最终结果不正确 场景如下 表内容原文 a b c d e 如果我移动第 0 行 当前a 到第 4 行 当前e 我看到的最终结果是 c d e a a 一些背景 该表正在读取 Realm 对象的列表 我确认
  • xcode 9.0.1 / swift 4,没有使用 Objective-C 选择器 'onClick:forEvent:' 声明的方法 [重复]

    这个问题在这里已经有答案了 I use swift 4为了构建我的 UI 我创建了一个UIButton并想为其添加一个目标 但编译器会抛出警告 No method declared with Objective C selector onC
  • WKWebview 中的 iCLoud 文档选择器关闭容器视图

    我有一个 WKWebview 加载基于 Web 的 UI 我希望用户能够从其 iCloud 文档上传文件 我已授予正确的权限 并且可以浏览 iCloud 文档 但是 当我选择文件或单击取消按钮时 文档选择器视图也会关闭 WKWebview
  • 为什么在迭代字典时会出现“类型 [object] 的值没有成员 'lowercaseString'” 错误? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有几个对象 Struct object var title String var one object green v
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • Swift:如何减少 didupdatelocations 调用

    我想出了一些代码来打印我所在位置的地址和邮政编码 这是在 didupdatelocation 函数中完成的 我遇到的唯一问题是 didupdatelocation 函数每秒都会更新该地址 因为这电池效率非常低 所以我一直在寻找使用间隔的方法
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • SKNode 上的 runAction 未完成

    我使用 NSOperation 子类来获取串行执行SKAction正如这个问题中所描述的 如何在 Swift 中子类化 NSOperation 以将 SKAction 对象排队以进行串行执行 https stackoverflow com
  • Swift C 回调 - Swift 类指针的 takeUnretainedValue 或 takeRetainedValue

    我有一些UIView or UITableViewCell 里面我有 C 回调 例如 CCallback bridge self observer data gt Void in let mySelf Unmanaged
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController
  • CGPoint 标量乘法 Swift

    我正在 SpriteKit 中构建一个平台游戏 并将为我的实体实现更新功能 以便它们根据重力和速度移动 但是 我需要使添加的速度量与增量时间成比例 以防止帧速率影响我的实体的移动方式 因此我将导入 GLKit 以便我可以使用标量函数 但是
  • iOS:Swift - 如何在触摸时向地图添加精确定位并获取该位置的详细地址?

    我想在 iOS 地图的触摸上添加注释并获取各个位置的详细地址 地标 我如何在 Swift 中实现这一目标 提前致谢 要对地图上的触摸做出反应 您需要为地图视图设置点击识别器 in viewDidLoad let gestureRecogni
  • 如何自动缩放mapView以显示叠加层

    我可以在 mapView 上绘制多边形 但是我需要找到多边形并手动缩放它 有没有办法自动执行此过程 例如调整中心多边形 我浏览过互联网并阅读了一些相关文章 其中大多数都是基于折线和点的 任何形式的帮助将不胜感激 因为我正在寻找解决方案一段时

随机推荐

  • PMU x86-64 性能计数器未显示在 AWS 下的性能中

    我正在针对特定应用程序运行 C 基准测试 在此测试中 我在关键部分之前打开性能计数器文件 NR perf event open syscall 继续该部分 然后在读取指定的指标 指令 周期 分支 缓存未命中等 之后 我验证了这需要在 sud
  • 如何排除 ModelMultipleChoiceField 中的值?

    我不希望登录的用户显示在此 ModelMultipleChoiceField 上 以限制自己与自己创建以下关系 那么如何从查询集中排除登录用户 这可能是一个简单的修复 但我是 Django 新手 它已经让我困惑了几个小时 forms py
  • 在 if 语句之外使用变量

    我不完全确定这在 Java 中是否可行 但是我如何在声明它的 if 语句之外使用在 if 语句中声明的字符串 你不能因为变量范围 如果您在内部定义变量if声明 而不是它只在范围内可见if语句 其中包括语句本身以及子语句 if String
  • iPhone:在导航上强制将方向从纵向更改为横向

    有什么方法可以在导航时强制将应用程序方向从纵向更改为横向 我有一个要求 当将控制器从 A 推到 B 时 B 应该处于横向 但我的 A 控制器处于纵向 在 ViewController B 的 viewDidLoad 中添加以下代码行 UIA
  • 静态初始化

    当我编译代码时遇到问题 当我编译我的代码 foo2 var 在类 foo 中返回 null 时 我似乎不明白为什么 我在 foo2 类中进行静态初始化导致 foo2 var 在 foo 类中为 null 的方式是否有问题 任何帮助表示赞赏
  • 对字典进行排序并将其写入 CSV 文件

    我有一本字典 其中元组作为键 列表作为值 myDict 1 9078752378 Smith Bob Head guard 2 9097615707 Burdell George Lifeguard 3 9048501430 Smith A
  • 带有文字和图像的 Facebook 墙贴

    几天来我一直在寻找一个简单的教程 如何使用图形 API 制作带有图标或图像和一些文本的 facebook 墙贴 我尝试了无数的教程 它们看起来都很复杂 我无法让它们工作 即使 SDK 附带的示例也不会创建会话 我已经成功设置了 SDK 并获
  • Google 云负载均衡器端口 80,到服务端口 9000 的 VM 实例

    我是 GCE 的新手 我对设置负载均衡器感到困惑 如果我有两个实例 在端口 9000 上提供服务 我想设置一个在端口 80 上接受的平衡器 然后将请求路由到端口 9000 中的实例 像这样的图表 LB port 80 gt VM port
  • 如何像阴影按钮一样绘制Windows 7任务栏

    Windows 7 任务栏按钮绘制在阴影背景上 颜色阴影以某种方式对鼠标位于按钮上的位置做出反应 我想在我的应用程序中使用这样的按钮 我怎样才能做到这一点 也许尝试一下 绘制主题背景 http msdn microsoft com en u
  • CKEditor 实例已存在

    我正在使用 jquery 对话框来呈现表单 通过 AJAX 获取 在某些表单上 我使用 CKEditor 作为文本区域 编辑器在第一次加载时显示良好 当用户取消对话框时 我将删除内容 以便在以后的请求时重新加载它们 问题是 一旦重新加载对话
  • 在 aar 中包含 /libs/ 文件夹

    感觉我要疯了 这一定是这么简单 我有一个 android aar 我是用它构建的gradle assembleRelease并且还使用maven publish插入 我认为 libs 是默认包含的 但显然不是 Android 工具网站显示其
  • 如何在 $.ajax 请求上设置超时并在花费太长时间时重做?

    有人可以向我展示一个为 ajax 请求设置超时的实际示例 并在第一个请求超时时重做整个请求 我已阅读文档但没有得到它 我将不胜感激任何帮助 这是我的 ajax 请求 ajax url ajax product php type get da
  • 计算 Perl 或 Ruby 中重叠的正则表达式匹配数

    这是后续那个问题 我了解到 在 Python 中查找重叠的正则表达式匹配并不简单 因此决定进行额外的查询 看看 Perl 和 Ruby 如何完成这项任务 我想count正则表达式与某个字符串的所有可能匹配的数量 我所说的 全部 是指结果应该
  • 在文本组件上绘制轮廓边框

    我正在尝试画一个边界Text在SWT 这就是我现在得到的 公共类 BorderedText 扩展 Text public BorderedText Composite parent int style super parent style
  • 如何反转 css 过渡属性宽度?

    所以我想制作一个CSS动画属性 其中宽度向左延伸但总是向右延伸 我试图弄清楚如何使宽度向左延伸而不是默认的向右延伸 我应该如何解决这个问题 下面是 JsFiddle Jsfiddle Html div div Css div positio
  • Angular Material 找不到 Angular Material 核心主题

    在我的 Angular2 项目中 我安装了最新的材质插件https material angular io guide getting started 接下来我添加 import angular material prebuilt them
  • 文件上传的严格标准错误

    我写了一个PHP脚本来上传文件 但是当我按下提交按钮时 它给出了一条错误消息 Strict Standards Only variables should be passed by reference in H xampp htdocs p
  • 动态创建变量(对于列表)

    我知道这可能是一个坏主意 但似乎是在创建所有可能的选项并忽略未使用的结果之外执行此操作的 最佳 方法 我有一个源文件 其中包含 12 个潜在值 我已经在列表中拥有所有必需的字符串 但是我的目标是使每个字符串成为列表本身的开头 如果这有意义的
  • 用 PHP 制作可分发的独立程序

    我决定用 PHP 编写一些应用程序 这些应用程序应该在用户的计算机上离线运行 但是 我似乎找不到用户友好的安装向导来创建运行脚本的本地服务器 有任何想法吗 PS 这是我想要的一个例子 http www nolapro com 您可以走老路并
  • 我如何阅读这个 Swift 语法? [复制]

    这个问题在这里已经有答案了 我在用Vapor第一件事是使用 get 方法 如下所示 drop get hello request in return Hello world 现在我的理解是闭包就像类型函数的变量 正确的 在这里我看到我们调用