我目前有很多用户的tableview,但我想按特定的顺序对用户进行排序,而不仅仅是升序或降序。比方说,我有一个数组与下列用户。Swift - 对数组的一个子集进行排序
"User1", "1st grade"
"User2", "1st grade"
"User3", "kids"
"User4", "6th grade"
"User5", "5th grade"
"User6", "2nd grade"
"User7", "kids"
"User8", "juniors"
如何订购我的阵列,使所有谁是孩子班上的学生将被显示在第一,其次是所有类用数字(按顺序),然后所有的青年。
我想,可以显示该
"User3", "kids"
"User7", "kids"
"User1", "1st grade"
"User2", "1st grade"
"User6", "2nd grade"
"User5", "5th grade"
"User4", "6th grade"
"User8", "juniors"
编辑数组: 更新文本明确指出,数组有两列,而不仅仅是一个字符串。
之所以能够通过使用线来实现它下面
let sortedArray =
self.userArray.sorted(by: { $0.SchoolGrade!.gradeLongName().contains("Kids") ||
$1.SchoolGrade!.gradeLongName().contains("Juniors") })
什么是你的对象的结构?如果它是'[[String]]'你可能想要改变你的数据模型。其他https://stackoverflow.com/questions/34957771/sort-a-array-according-to-another-array-swift?并定义“年龄/阶级”的逻辑,因为只是字符串,它不是。 – Larme
我使用下面的答案修复了它。我的结构包含与数据库相同的东西:主要是整数,包括第二列(等级)的整数。我确实可以使用等级的int而不是等级文本本身对数组进行排序,所以我会研究它。谢谢! –