Как отфильтровать массив объектов swift 4 и удалить после - PullRequest
0 голосов
/ 01 мая 2018

Я хочу избежать этой ошибки изображение ошибки

, что является индексом вне диапазона. Я пытаюсь перебрать массив, но когда я нахожу что-то, что хочу удалить, я удаляю его, но .count массива остается неизменным для этой итерации цикла for, как я могу это исправить?

вот консоль при запуске

test i:0  count: 3
test i:1  count: 3
test i:2  count: 2

пока что: в

    for i in stride(from: 0, to: count, by: 1)

все еще кажется 3 ...

Может ли кто-нибудь показать мне, как фильтровать этот массив или проходить и удалять? Пока это работает, мне все равно, что это такое

1 Ответ

0 голосов
/ 01 мая 2018

Использование filter:

let filteredImages = images.filter { $0.someproperty == whatYouWant } 

Мутация for - петли - это то, чего вы хотите избежать. Фильтрация намного безопаснее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...