Я разработал приведенный ниже алгоритм для сортировки массива элементов словаря.
guard var imageUrlString = anyImage.value as? [String:AnyObject] else { return }
var values = [AnyObject]()
var keys = [String]()
var done = false
var j = 1
while !done {
for i in imageUrlString {
print(i.key, " this is the key")
if "media\(j)" == i.key {
values.append(i.value)
keys.append(i.key)
print(i, " This is teh i for in if ")
if imageUrlString.count == j {
done = true
break;
}
j+=1
} else {
print("No,,.")
}
}
}
Проблема в том, что иногда, например, каждый раз, когда первый носитель является изображением, он будет зацикливаться вечно. Как я могу решить это, чтобы алгоритм мог эффективно сортировать при любых условиях?