将动态更新的MapView链接到CollectionView-iOS SWIFT

时间:2018-10-11 16:28:07

标签: ios swift firebase uicollectionview

我正在构建一个应用,其中我希望有一个带注解的MapView和一个CollectionView并将其叠加在显示为小卡片的单元格上。

我用来填充MapView和CollectionView卡的数据是动态的,并且始终在更新,因为它已链接到 Firebase RealTime Servers

例如->如果您在MapView上的区域中有10个作业,CollectionView将显示10个可滑动的卡片/单元。如果在下一秒创建另一个作业,那么我不希望整个MapView&CollectionView重新加载其数据。相反,我希望在MapView上创建另一个注释(或向群集注释添加+1),并在末尾或适用时向CollectionView添加另一个Card / Cell。这种动态情况也适用于删除MapView / CollectionView上的10个作业中的1个。

这里的收获是-MapView上的这10个作业/注释可以被聚类。当它们聚集在一起时,如果我要点击其中之一,我想放大并显示拆分的作业/注释,并过滤Cards / Cells以显示MapView上显示的Cards / Cells。

我尝试了所有第3方库,但它们都可以工作,但是必须内置其他功能,因此这些库的模块化程度不足以增加和限制我,然后对我有所帮助。因此,我正在使用SWIFT提供的所有本机代理。

我的数据-数据来自2个ViewModel数组,如下所示:

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

这些ViewModel包含 ID ,这些ID与特定的作业/注释或卡片/单元格相关。

我的问题:试图使这些事情变得动态起来,实际上很难选择要删除或添加到哪个位置的注释,并将更改同时添加到collectionView上,也可能是在用户可能点击了某个集群的某个时刻过滤了collectionViews数据模型之后。

实现此整个功能的最佳方法是什么?我能否请一些严肃的代码语法和示例。甚至可能是一个项目示例?

谢谢!

P.S。我正在使用VIPER架构。

0 个答案:

没有答案