Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
В сабже самый очевидный баг - это изменение коллекции во время перебора ее обьектов. А в первых двух вложенностях циклов вообще нет никакого смысла. И таких мест в проекте десятки. Но, ЧСХ, приложение не раз выкладывалось в AppStore =)
хочу не согласиться про изменение коллекции во время перебора - что вам мешает перебрать с изменением коллекции внутри цикла while? Даже с for будет работать. Точно не будет только с for-in
А еще я могу исправить ваш код так, чтобы из вложенных циклов оставить только один и при этом приложение будет полностью рабочим и точно так же будет удалять лишние элементы из коллекции
100% лучшее решение - через преобразование в множество, учитывая что потом проверяется, добавлен ли уже такой элемент
А еще я могу исправить ваш код так, чтобы из вложенных циклов оставить только один и при этом приложение будет полностью рабочим и точно так же будет удалять лишние элементы из коллекции