gpt4 book ai didi

swift - Swift 中的数组到字符串,stringInterpolationSegment

转载 作者:搜寻专家 更新时间:2023-10-31 08:34:05 25 4
gpt4 key购买 nike

我正在尝试将枚举数组转换为 Swift 中的字符串。我的枚举是可打印的并且有一个描述属性。

我认为这会起作用:

", ".join(a.map { String($0) }) 

但是编译器报错

Missing argument label 'stringInterpolationSegment:' in call

所以,我听从了建议,

", ".join(a.map { String(stringInterpolationSegment: $0) })

但是我不明白:

  1. 为什么需要参数标签?
  2. stringInterpolationSegment 的类型是什么?

最佳答案

您不能使用您的枚举类型调用 String 初始化器,因为没有采用该类型的初始化器。

String 有许多初始化器,它们具有 stringInterpolationSegment 参数,并且每个初始化器都针对不同的类型实现它。类型包括 BoolFloatIntCharacter 等。当所有其他方法都失败时,有一个通用的回退:

/// Create an instance containing `expr`\ 's `print` representation
init<T>(stringInterpolationSegment expr: T)

这是为您的枚举调用的版本,因为它不是受支持的类型之一。

请注意,您还可以执行以下更简洁的操作:

", ".join(a.map { toString($0) })

你可以跳过闭包表达式(感谢@Airspeed Velocity 指出这一点):

", ".join(a.map(toString))

关于swift - Swift 中的数组到字符串,stringInterpolationSegment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29592773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com