Связывание динамически обновляемого MapView с CollectionView - iOS SWIFT - PullRequest
0 голосов
/ 11 октября 2018

Я создаю приложение, в котором я хотел бы иметь MapView с аннотациями и CollectionView с наложением на него ячеек, похожих на маленькие карточки.

Данные, которыми я заполняю карты MapView и CollectionView,динамический и всегда обновляемый, так как он связан с серверами Firebase RealTime .

Например -> Если в MapView в вашем районе 10 заданий, CollectionView покажет 10 карт / ячеек, которыеВы можете провести через.Если в следующую секунду будет создано другое задание, я не хочу, чтобы весь MapView & CollectionView перезагружал свои данные.Вместо этого я хочу создать еще одну аннотацию в MapView (или добавить +1 к аннотации кластера) и добавить еще одну карту / ячейку в CollectionView в конце или, где это применимо.Этот динамический сценарий также применяется для удаления 1 из 10 заданий в MapView / CollectionView.

Подвох здесь - - Эти 10 заданий / аннотаций в MapView могут быть сгруппированы.Когда они кластеризованы, если бы я нажал на одну из них, я хочу увеличить масштаб и показать разделенные задания / аннотации и отфильтровать карты / ячейки, чтобы показать те, которые появляются в MapView.

У меня естьперепробовал все сторонние библиотеки, и они работают, но в это должны быть встроены другие функции, поэтому эти библиотеки недостаточно модульны, чтобы добавлять и ограничивать меня, а не помогать.Поэтому я использую все нативные делегаты, которые мне доступны из SWIFT.

Мои данные - Данные поступают в массив из 2 моделей представления, например:

struct ViewModel { let CardsViewModel : [], let MapViewModel: [] }

Эти ViewModels содержат ID , которые связаны с конкретной работой / аннотацией или картой / ячейкой.

Моя проблема: Пытаясь сделать все эти вещи динамичными, действительно трудно определить, какая аннотация в каком месте будет удалена или добавлена, и вносить изменения в collectionView одновременно, а также когда в некоторый момент фильтруется collectionViews DataModel, когдаПользователь мог щелкнуть по кластеру.

Каков наилучший подход к реализации всей этой функции?Могу ли я получить серьезный синтаксис кода и примеры.Может быть, даже пример проекта?

Спасибо!

PS Я использую архитектуру VIPER.

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