Вот мой метод, который обрабатывает сортировку массива строк
func bucketNameGenerator(player1Id: String, player2Id: String) -> String {
var bucketName : String = ""
var uniqueBucketID = [String]()
uniqueBucketID = [player1Id, player2Id]
let sortedUniqueBucketID = uniqueBucketID.sorted(by: <)
bucketName = sortedUniqueBucketID.joined().replacingOccurrences(of: "$", with: "")
print("[bucketNameGenerator] bucketName: \(bucketName)")
return String(bucketName)
}
Два строковых значения не являются чистыми строками, они также содержат числовые значения. этот способ сортировки не возвращает одно и то же значение каждый раз. Нужны предложения по улучшению здесь / направлены вниз по пути создания асимметричной строки каждый раз.
Пример ожидаемых результатов:
player1Id : 123jinrk1412941jdlndma
player2Id: 49812u4jldanec192hce12n
expected result both combined and sorted in an ascending order :
49812u4jldanec192hce12n123jinrk1412941jdlndma
Приведенный выше пример неправильно отсортирован, но цель состоит в том, чтобы получить строку, которая одинакова при каждом запуске метода с двумя введенными значениями.