作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个接受 2 种类型的数组,一个 String 和一个 Int 代码看起来像这样
var totalDoubleSet1Array = [(Dante,10), (Cassius, 9), (Rio, 5)]
let sortedArray = totalDoubleSet1Array.sort { $0.1 > $1.1 }
然后我使用排序函数将最高分(Int)从最低分排列到名字旁边。 (所以我可以将其分配给一个字符串并显示在 AlertAction 中)我在这里的某个地方看到它是的,我可以将单一类型的字符串或 Int 等的数组打印到控制台,但是我如何将这两种类型的数组(Stings 和 Ints)分配给一个新的字符串变量,这样我就可以请 swift 将其分配给 AlertAction 消息?或者更好的是,如何获取每个条目的单个元素,以便将其分配给 Var 字符串?希望这是有道理的。谢谢
最佳答案
这不是“两种类型的数组”,而是元组的数组。您可以从数组中获取一个项目并像这样获取其各个部分:
let (name, score) = totalDoubleSet1Array[i]
在这个分配之后你会得到两个变量 - name
类型 String
其值为 i
-th 元素的名称,和 score
类型 Int
其值为 i
-th 元素的分数。
如果您只需要名称,您有两个选择:
let (name, _) = totalDoubleSet1Array[i]
语法,或let name = totalDoubleSet1Array[i].1
相反。请注意,您在排序函数的比较表达式中已经使用了第二种语法:
sort { $0.1 > $1.1 }
关于arrays - 如何在 swift 中将一组 int 和字符串分配给一个字符串变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36954960/
我是一名优秀的程序员,十分优秀!