我有一个包含250个阵列的大型嵌套数组:
[["europe", "eastern europe", "belarus", "frequent"],
["europe", "eastern europe", "bulgaria", "frequent"],
["europe", "eastern europe", "czech republic", "frequent"],
["europe", "eastern europe", "hungary", "frequent"],
["europe", "eastern europe", "moldova", "not"],
["europe", "eastern europe", "romania", "frequent"],
["europe", "eastern europe", "slovakia", "frequent"]]
这只是一个样本,原始的不是按字母顺序排序,而是更大。 我需要按字母顺序对这个数组进行排序,并在我的文件中对已排序的数组进行硬编码。我正在考虑使用sort函数,然后打印数组并将其复制到我的代码中:
var myArray = ListOfCountries().countries
myArray.sort({ $0[2] < $1[2] })
println(myArray)
这确实排序正确,但println看起来像这样:
[[asia, southern central asia, afghanistan, frequent],
[europe, southern europe, albania, frequent],
[oceania, polynesia, american samoa, not],
[europe, southern europe, andorra, not],
[africa, central africa, angola, frequent],
[americas, caribbean, anguilla, not]]
我丢失了引号,因此我无法将其复制到我的代码和其他我需要的地方“”。 我怎么能做同样的事情,但可以使用引号访问带排序的数组?
答案 0 :(得分:1)
您在提问中提及保留引号。这让我觉得你认为引号是你的字符串的一部分,并且排序将它们删除了。
但事实并非如此。如果您在Swift 代码中使用"europe"
之类的字符串, 内存中的表示只是europe
而没有引号。
println()
写入控制台的是对象的外部表示。如果是String
值,则会在不添加引号的情况下打印它们。这只是一个实现细节,与应用程序中字符串的存储方式无关。
你提到你以后需要引用字符串的数组。如果这意味着您需要JSON
格式的数据,那么您将需要使用JSON编码器,它将获取您的字符串数组并根据JSON格式规则将其写出来,做包括引号。
答案 1 :(得分:1)
尝试:
debugPrintln(myArray)
引用"
字符串。
/// Write to the console the textual representation of `x` most suitable
/// for debugging, followed by a newline.
///
/// ... snip ...
///
/// See also: `debugPrint(x)`
func debugPrintln<T>(x: T)