为了账号安全,请及时绑定邮箱和手机立即绑定

如何将Swift数组转换为字符串?

如何将Swift数组转换为字符串?

iOS
守着一只汪 2019-07-29 16:31:15
如何将Swift数组转换为字符串?我知道如何以编程方式执行此操作,但我确信有一种内置方式...我使用的每种语言都有一些对象集合的默认文本表示形式,当你尝试将数组与字符串连接起来时,它会吐出来,或者将它传递给print()函数等。是Apple的Swift语言吗?有一种内置的方法可以轻松地将Array转换为String,或者在对数组进行字符串化时我们是否总是要显式?
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

Swift 2.0 Xcode 7.0 beta 6以后使用joinWithSeparator()而不是join():


var array = ["1", "2", "3"]

let stringRepresentation = array.joinWithSeparator("-") // "1-2-3"

joinWithSeparator 被定义为扩展 SequenceType


extension SequenceType where Generator.Element == String {

    /// Interpose the `separator` between elements of `self`, then concatenate

    /// the result.  For example:

    ///

    ///     ["foo", "bar", "baz"].joinWithSeparator("-|-") // "foo-|-bar-|-baz"

    @warn_unused_result

    public func joinWithSeparator(separator: String) -> String

}


查看完整回答
反对 回复 2019-07-29
?
湖上湖

TA贡献2003条经验 获得超2个赞

如果数组包含字符串,你可以使用Stringjoin方法:

var array = ["1", "2", "3"]let stringRepresentation = "-".join(array) // "1-2-3"

Swift 2中

var array = ["1", "2", "3"]let stringRepresentation = array.joinWithSeparator("-") // "1-2-3"

如果要使用特定的分隔符(hypen,blank,逗号等),这可能很有用。

否则,您只需使用该description属性,该属性返回数组的字符串表示形式:

let stringRepresentation = [1, 2, 3].description // "[1, 2, 3]"

提示:任何实现Printable协议的对象都有一个description属性。如果您在自己的类/结构中采用该协议,那么您也可以使它们打印友好

Swift 3中

  • join成为joined例子[nil, "1", "2"].flatMap({$0}).joined()

  • joinWithSeparator变为joined(separator:)(仅适用于字符串数组)

Swift 4中

var array = ["1", "2", "3"]array.joined(separator:"-")


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 2548 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信