我目前有很多用戶的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而不是等級文本本身對數組進行排序,所以我會研究它。謝謝! –