解释
我的应用程序基本上使用了一个地图视图,上面覆盖了代表建筑物的多边形,再加上一个注释。因此,为此它导入了一个名为 Annotation 的自定义类,该类在点击注释时处理弹出详细信息,这意味着它存储了建筑物的名称和地址。此时标注(蓝色显示按钮)加载了一个空的 DetailViewController 对象(因为实际上没有任何数据要通过)。
我很快以可搜索表的形式添加了一个新功能,它加载了 Building 类的自定义对象(具有与 Annotation 类似的属性,以及图像和更多细节),然后加载到前面提到的 DetailViewController 类以及建筑物的详细信息中。
总而言之,MapVC 包含多个注释,当点击相关的公开按钮时会打开 DetailVC。SearchVC 可以通过 MapVC 上的按钮访问,并且有一个 Building 对象表,该表会加载一个带有相关数据的 DetailVC,如下所示:
下一步
所以现在我想在标注上的蓝色披露按钮中实现功能,所以当用户点击它时,它会加载建筑细节。目前它只有注释的详细信息。我可以将额外的属性添加到注释中以使其完整,但我认为只使用一个名为 Building 的自定义类会更好,它具有 MKAnnotation 特性。然后为注解和 searchVC 的表加载这个 Building 类。
问题
那么最后,解决这个问题的最佳方法是什么?我希望所有数据都独立于图中的任何 VC 进行存储。我遵循了 Apple 的教程(BirdSighting 教程),它使用了一个单独的 Datacontroller 类,然后我将其加载到其他类中。这是最好的方法吗?