Результат вызова sorted(by:) не используется

avatar
iDeveloper
9 августа 2021 в 05:50
127
1
-1

Я пытаюсь отсортировать свой массив от более высокого к более низкому количеству голосов, я могу добавить значение в массив, но когда я попытался его отсортировать, он показывает предупреждение Result of call to 'sorted(by:)' is unused

Мой код -

struct WallAction {
    var upVote:Int?
    var downVote:Int?
    var noVote:String?
}

var wallActionList = [WallAction]()
var up = 0
var down = 0
var noVote = ""

for (j,wallActn) in wall.1["wallAction"] {
    if wallActn["action"].stringValue == ""{
        self.noVote = "Vote"
    }
    if wallActn["action"].stringValue == "1"{
        self.up += 1
    }
    if wallActn["action"].stringValue == "0"{
        self.down += 1
    }
    
}
let wallAct = WallAction(upVote: self.up, downVote: self.down, noVote: self.noVote)
self.wallActionList.append(wallAct)
self.wallActionList.sorted(by: { $0.upVote! > $1.upVote! }) // Result of call to 'sorted(by:)' is unused
Источник
Sweeper
9 августа 2021 в 05:52
5

Вы хотели вместо этого использовать sort(by:)? (без ed)

iDeveloper
9 августа 2021 в 05:53
0

@Sweeper Я просто хочу отсортировать любым способом.

Ответы (1)

avatar
Abdul Waheed
9 августа 2021 в 06:03
2
.sorted(by: ) 

возвращает отсортированный массив, если вам нужен отсортированный массив и оставить исходный массив нетронутым.

.sort(by:)

ничего не возвращает, он сортирует исходный массив. Если вас не волнует изменение исходного массива, используйте .sort(by:)