我知道如何以编程方式进行操作,但是我敢肯定有一种内置方法...
我使用的每种语言都有一组对象的默认文本表示形式,当您尝试将Array与字符串连接起来或将其传递给print()函数时,它将吐出。Apple的Swift语言是否可以有一种轻松地将数组转换为字符串的内置方法,还是在对数组进行字符串化时始终必须明确?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果数组包含字符串,则可以使用String的join方法:
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"
如果要使用特定的分隔符(连字符,空格,逗号等),这可能很有用。
否则,您可以简单地使用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:"-")
问题来源于stack overflow