Swift中如何将列表与字典转换为对应格式的字符串?
Swift 数组与字典转格式化字符串解决方案
数组转字符串
你尝试的两种方法都不可行:
String([123])报错是因为Swift没有提供直接接受数组的String构造器;[123] as! String报错是因为数组和String属于完全不同的类型,无法强制类型转换。
正确的做法是使用String(describing:)初始化器,或者直接调用数组的description属性:
let array = [123] let arrayStr1 = String(describing: array) // 结果:"[123]" let arrayStr2 = array.description // 结果:"[123]"
嵌套字典转字符串
同样,嵌套字典无法通过强制类型转换或直接String()初始化器转成目标格式。使用String(describing:)或description属性即可解决:
let dict: [String: [String: String]] = ["123": ["123": "123"]] let dictStr1 = String(describing: dict) // 结果:"["123": ["123": "123"]]" let dictStr2 = dict.description // 结果:"["123": ["123": "123"]]"
补充说明
如果需要自定义字符串格式(比如去掉括号、自定义分隔符),数组可以用joined(separator:)方法,字典则需要手动遍历拼接,但针对你需求的调试风格格式,description和String(describing:)完全满足要求。
内容的提问来源于stack exchange,提问作者Doggy
相关产品推荐
相关产品推荐

