У меня есть очень простой вложенный цикл for, который перебирает строку длиной 80 КБ. Этот цикл занимает максимум 2-3 миллисекунды, но на моем iPhone он занимает 10 секунд. Это необъяснимое время для смартфона. Почему это могло произойти? Вот код.
let cyph_1 : [Character] = my_array1 // 65 characters
let cyph_2 : [Character] = my_array2 // 65 characters
var temp_2 = ""
var temp_1 = "80K long string, not that long"
for k in 0 ..< temp_1.count
{
var exists = false
let some_char = temp_1_characters[k]
for m in 0 ..< cyph_2.count
{
if (cyph_2[m] == some_char)
{
temp_2.append(cyph_1[m])
exists = true
break
}
}
if (!exists)
{
temp_2 += "\(some_char)"
}
}
temp_1 = temp_2
Подробнее здесь: https://stackoverflow.com/questions/784 ... is-so-slow