相关疑难解决方法(0)

通过从另一个数组排序来对Swift数组进行排序

假设我有一个自定义类的数组[Player],每个数组都包含一个名为的字符串属性player.position

我也有一个任意的值数组positionOrders,如下所示:

let positionOrders = ["QB", "WR", "RB", "TE"]

我的目标是[Player]先将所有"QB" 排序,然后是"WR","RB",最后是"TE".

我正在做的当前方式循环遍历每个元素positionOrders,然后在内部循环遍历所有玩家以附加到新数组.但是,我无法想出一种更简单(更有效)的方法.非常感谢任何提示或指示.谢谢.

arrays sorting swift

14
推荐指数
6
解决办法
5425
查看次数

与Swift中的另一个数组相比,对数组进行重新排序

我在Swift中有一个包含一些对象ID的数组,而我有另一个包含这些对象及其ID的数组,所以像这样:

class MyObject {
   let id: String
   ...
}

let ids: [String] = ...
let objects: [MyObject] = ...
Run Code Online (Sandbox Code Playgroud)

现在,id数组按自定义顺序排序,我需要按相同顺序对对象数组进行排序。因此,例如:

let ids: [String] = ["1", "2", "3"]
let objects: [MyObject] = [obj3, obj1, obj2]
// obj1.id = "1"
// obj2.id = "2"
// obj3.id = "3"
objects.reorder(template: ids) 
// Now objects = [obj1, obj2, obj3]
Run Code Online (Sandbox Code Playgroud)

所以我基本上需要实现这种重新排序方法。有谁有聪明的建议如何在Swift中做到这一点?我正在使用Swift 3,因此所有新API都可以使用。

arrays swift swift3

1
推荐指数
2
解决办法
1251
查看次数

标签 统计

arrays ×2

swift ×2

sorting ×1

swift3 ×1