在闭包中解构元组的元组

2024-01-09

我可以轻松地解构元组的元组:

let tt = (2, (3, 4))

let (a, (b, c)) = tt
b // => 3

我想在声明闭包时做同样的事情,例如我想我可以写:

[tt].map { (a, (b, c)) in
    // Use b
}

Xcode 抱怨“未命名参数必须使用空名称编写”。

我让它“工作”的唯一方法是:

[tt].map { (a, tuple: (b: Int, c: Int)) in
    // Use tuple.b
}

这有两个我想避免的缺点:

  • 我需要使用tuple.b代替b
  • 我需要指定的类型b and c

顺便说一句,我的用例是我想做一个reduce与索引所以我正在尝试使用array.enumerate().reduce


通过额外的赋值行,您可以将数组中的值分配给(a, (b, c))解构元组:

let tt1 = (2, (3, 4))
let tt2 = (5, (6, 7))

[tt1, tt2].map { tt in
    let (a, (b, c)) = tt
    print(b)
}

Output:

3
6

或者:

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

在闭包中解构元组的元组 的相关文章

  • UIView 动画选项重复计数

    我的 Swift 代码遇到一些问题 我试图使 UIImageView 对象消失并重新出现一次 但在让动画仅播放一次方面遇到一些问题 IBOutlet weak var ball UIImageView IBAction func onFad
  • 读取/写入本地 json 文件 swift 4

    请帮我 我在项目中添加了一个json文件 我的 json 文件 person title image Vitamin1 favorite false title B6 image Vitamin2 favorite false 我可以读取文
  • 如何使用自定义转换在当前上下文上呈现视图控制器?

    我遇到了视图控制器包含问题 并希望通过自定义演示 动画 在当前上下文上 呈现视图控制器 我有一个根视图控制器 它有两个子视图控制器 可以作为根的子视图添加和删除 当这些子视图控制器呈现视图控制器时 我希望呈现在当前上下文之上 以便当呈现的子
  • 如何在 iOS 中使用 AVPlayer 缓冲音频?

    我想播放来自互联网的流音频 我编写了播放流的代码 但它没有任何缓冲区 因此如果信号较弱 应用程序将停止播放音频 这是我的代码 import UIKit import AVFoundation import MediaPlayer impor
  • 当 tableView 向下滑动时显示 UISearchController

    我通过 UISearchController 在我的测试应用程序中实现了搜索栏 当我启动应用程序时 我会在导航控制器下方看到搜索栏 但如何在应用程序启动时隐藏它并仅在下拉表格视图时显示它 并在拉出表格视图时再次隐藏 我在google或you
  • 为什么removeAllObservers()在deinit中不起作用?

    众所周知 在 iOS 中使用 Firebase 的强大功能时 每当您在视图控制器中进行观察时 var o DatabaseReference var o2 DatabaseReference var o3 DatabaseReference
  • AWS ios SDK - 弹性转码器作业的 http post 请求

    查看AWS弹性转码器 有几个问题 对于我的用例来说 首先使用转码器是否具有重要价值 我正在制作一个允许用户选择视频的 ios 应用程序 当他们这样做时 我会将其上传到 S3 存储桶 据我了解 我应该使用弹性转码器对这些视频进行转码 并将它们
  • 我可以通过编程方式获取连接到手机的 wifi 的 MAC 地址吗?

    我的手机已连接到 wifi 我想获取我的 wifi 的 MAC 地址 BSSID 和 mac 地址是同一回事 您可以通过此函数获取 mac 地址 只需导入 SystemConfiguration CaptiveNetwork func ge
  • 如何判断变量是否是数组

    我有一个接受 Any 的 Swift 函数 我希望它能够接受字符串数组 整数数组 混合数组或数组数组等 它也可以只接受字符串或整数 等等 不在数组中 所以我有这个 private func parse parameter Any if pa
  • 在 RealityKit 中更改对象的枢轴点

    我希望立方体仅在 z 轴正方向上缩放 现在 当我缩放它时 它总是围绕其中心缩放 因此 为此我必须更改对象的锚点 我知道在 SceneKit 中有一个可以使用的枢轴属性 在 RealityKit 中也有办法做到这一点吗 我发现了一个相当简单的
  • iOS UITest:如何找到UITableViewCell的AccessoryView?

    你好我正在学习UITests now 我有个问题 如何检测accessoryView的点击tableViewCell 在UI测试中 下面是我的tableViewCell 我想要检测细节闭合配件视图水龙头 像这样 app tables cel
  • 为什么 'self.self' 在 swift 中编译并运行?

    昨天我回顾了 Swift 中的一段代码 其中包括这一行 self self someProperty 这让我很惊讶 因为这个词self被保留并用作对当前实例的引用 起初我用其他语言检查了这种现象 但都给出了错误 这并不奇怪 但是 为什么它能
  • 如何在 Swift ios 中获取国家/地区列表?

    我已经看到了两个与我类似的问题 但这些问题的答案对我不起作用 我有一个旧项目 其中在一组方括号内手动输入了国家 地区列表 我可以轻松地在我的 pickerView 中使用它 但我想知道是否有更有效的方法来做到这一点 我将在 UIPicker
  • AFNetworking 的 setImageWithURLRequest 在滚动后在错误的单元格中设置图像(iOS、Swift)

    我使用表dequeueReusableCellWithIdentifier and afnetworking uiimageview 我的一些细胞有图像 有些则没有 如果我在加载图像之前滚动表格 成功块会将图像放入重复使用的错误单元格中 例
  • 图表无法在 Xcode 14 上编译

    我在图书馆中面临以下错误 Type 图表数据集 不符合协议 范围可替换集合 实例方法不可用 替换Subrange with 用于满足协议的要求 范围可替换集合 将其附加到扩展 ChartDataSet RangeReplaceableCol
  • 按下后退按钮时 SwiftUI 工具栏项目被剪裁

    我在 SwiftUI 中遇到了一种奇怪的行为 我似乎无法解决它 鉴于以下简单的示例应用程序 我遇到了这种行为 工具栏项目在初始运行时正确呈现 但导航离开并返回它会被剪切 重新创建此示例代码 内容视图 swift import SwiftUI
  • Swift 4 使用随机密钥解码嵌套 JSON [重复]

    这个问题在这里已经有答案了 我是 Swift 4 的新手 正在尝试从 Wikipedia API 解码此 JSON 我正在努力定义一个结构 因为我发现的所有示例 教程都仅嵌套 1 2 层深度 除此之外 当其中一个密钥是随机的时 如何解码数据
  • 为什么在快速合并两个视频或更改背景音乐后视频变成黑屏?

    在我的 ios 应用程序中 我想合并两个视频并更改背景音乐 我尝试过 对于普通视频来说效果很好 但是 当我选择任何延时视频 然后尝试合并或更改背景音乐时 视频变成全黑屏 对于我的应用程序 我使用 swift 4 2 和 xcode 10 我
  • VNFaceObservation BoundingBox 在纵向模式下不缩放

    作为参考 这源于一个问题视觉API 我正在努力使用Vision通过a检测图像中的人脸VNDetectFaceRectanglesRequest 它在确定图像中正确的人脸数量并提供boundingBox对于每张脸 我的麻烦是由于我UIImag
  • Swift 将十进制坐标转换为度、分、秒、方向

    我怎样才能将其转换为快速 我最好的猜测是所有 int 都变成了 var 删除所有导致 的 此外 如果有的话可以给我指出一个很好的来源来了解事物如何转换 那就太好了 NSString coordinateString int latSecon

随机推荐

  • 如何在 Power Shell 中正确增加不同月份期间的日期('yyyy-mm-dd')

    让我问一下如何在 PowerShell 中正确增加日期 我们希望获取指定时间段内格式为 yyyy mm dd 的日期列表 将它们传递给其他程序 例如 当 DateStart 2018 01 05 且 DateEnd 2018 01 08 时
  • 段落中文本上方的位置跨度

    我尝试在文本上方放置一些文本 如下所示 在音乐中使用 Am E This is a new sentence G C This is another sentence 但我不想使用空格 目前我有这个 p position relative
  • ASP.NET Core 2 razor 页面中的文件上传

    我正在尝试在 asp net core 2 razor 页面中进行简单的文件上传 我有下面的代码 请认识到它是不完整的 当我在 VS2017 中运行时 我检查我的 FileUpload 对象 不幸的是它为空 我希望它不是 null 之外的东
  • 向量中元素的默认构造

    在阅读此问题的答案时question https stackoverflow com questions 877385 dynamically allocating and setting to zero an array of float
  • 单元测试文件 I/O 方法

    我对单元测试还比较陌生 我用 Ruby 编写了一个类 它接受一个文件 在该文件中搜索给定的正则表达式模式 替换它 然后将更改保存回文件 我希望能够为此方法编写单元测试 但我不知道如何去做 有人可以告诉我如何对处理文件 I O 的方法进行单元
  • THREE.js 几何图不出现

    接下来我在自定义几何体上加载图像映射 它代表上图中的棕色几何形状 var aqua ground geo new THREE Geometry var top0 new THREE Vector3 aqua ground geo x NEG
  • 如何在 jQuery 中使用循环自动绑定多个事件处理程序

    我正在开发一个模拟棋盘的简单应用程序 因此我有一张有 64 个方格的桌子 我想通过编写一个循环的函数来绑定每个方块的事件处理程序 而不是写出 64 次 编辑 请注意 我希望处理程序返回一个数值来指示单击了哪个 div 我不需要处理程序来返回
  • PushViewController 两次当我双击太快时

    当我调用将 ViewController 推送到详细聊天控制器 一对一聊天 时 我有以下代码 但是 如果我单击得太快 视图控制器将被推送两次 动画我看了两遍 谁能指出我错误在哪里 该代码来自 LBTA 的 Youtube 课程 Fireba
  • x86-64 上的 C++:何时在寄存器中传递和返回结构/类?

    假设 Linux 上的 x86 64 ABI 在 C 中的什么条件下 结构会传递给寄存器中的函数 还是传递给堆栈上的函数 在什么条件下它们会返回到寄存器中 答案会随着课程的变化而变化吗 如果有助于简化答案 您可以假设单个参数 返回值并且没有
  • 是否可以仅对facet_wrap 的各个方面进行重新排序,而不对基础因子级别进行重新排序?

    示例数据框 df lt data frame x rep 1 10 4 y rnorm 40 Case rep c B L BC R each 10 我可以使用以下方法在其自己的方面绘制每个时间序列 ggplot df aes x x y
  • 在清单中找不到以下权限:2 [flutter]

    我正在使用permission handler来获取位置许可 它总是说 在清单中找不到权限 即使我尝试过 flutter clean import package permission handler permission handler
  • 找不到文件错误 python [重复]

    这个问题在这里已经有答案了 import os import time torrent folder os listdir r C users chris desktop torrents for files in torrent fold
  • 任务异常长时间处于 WaitingToRun 状态

    我有一个程序可以处理并行运行的各种任务 单个任务充当各种管理器 确保在运行下一个任务之前满足某些条件 但是 我发现有时任务会处于 WaitingToRun 状态很长时间 下面是代码 mIsDisposed false mTasks new
  • 是否有一个完整的示例来将 sympy 中的数学表达式写入 Microsoft Word 文档?

    这可能是一个愚蠢的问题 但我很绝望 我是一名数学老师 我尝试生成数学测试 我为此尝试了 Python 并完成了一些工作 然而 我不是一个专业的程序员 所以我对 MathMl prettyprint 之类的东西迷失了方向 有谁可以为我提供一个
  • Python 中“in”的结合性?

    我正在制作一个Python解析器 这是really让我困惑 gt gt gt 1 in in a False gt gt gt 1 in in a TypeError in
  • 使用 except 处理 express-jwt 中的参数化路由

    给定以下路线 router get api members confirm id function req res next 如何指定要排除的路由 我努力了 app use api expressJwt secret config secr
  • Knockout.js 语法

    我是 Javascript MVC 框架 Knockout js 的初学者 来自传统的 Javascript 以及一些 jQuery 经验 我在理解学习 Knockout js 的语法时遇到困难 考虑以下陈述 风景 ul class fol
  • 如何使用bat脚本将命令表达式的结果存储在变量中?

    我有下面的命令来计算遵循该模式的所有目录20 dir b 20 find c 2 例如 如果我有以下目录 该命令将返回 6 20090901 20090902 20090903 20090904 20090905 20090906 如何将该
  • html2canvas 不显示子 div 中的图像

    我正在尝试使用 html2canvas 从 div 创建图像 Brief 我有一个图像 png 其中有一个透明区域 我有另一个图像 可以是 jpg 或 png 将被拖动 调整大小 使用a在上图的透明区域内看起来不错 辅助分区 我有一个辅助
  • 在闭包中解构元组的元组

    我可以轻松地解构元组的元组 let tt 2 3 4 let a b c tt b gt 3 我想在声明闭包时做同样的事情 例如我想我可以写 tt map a b c in Use b Xcode 抱怨 未命名参数必须使用空名称编写 我让它