gpt4 book ai didi

iphone - 如何在iOS上设计正确的MVC?

转载 作者:行者123 更新时间:2023-11-29 04:34:36 24 4
gpt4 key购买 nike

我有一个项目,我想在其中显示叠加层以在 map 上定位人员。我很难遵循 MVC 模式,因为我从未实践过它。

在数据库中,我将保存一个位置(在 map 坐标中)和图像以识别一个人(叠加层的图像)。

如果 2 个或更多位于同一位置,它们将被分组到另一个“组”叠加层下。当触摸覆盖层时,我想根据其类型(“组”或“单个”)显示不同的信息。

这是我的问题:我显然需要对具有属性位置和图像的 Overlay 父类(super class)进行子类化,以重新定义 overlayTouched: 方法。但这段代码通常是 MVC 模式的 View 代码,但覆盖层是一个模型对象,因为它将被保存,所以我很困惑。

我应该如何设计这个?

最佳答案

您不应该子类化Overlay来向其添加触摸事件,而是创建一个新的UIViewYourNewView

YourNewView 将“拥有”一个 Overlay 实例,并且它将模型所需的所有方法委托(delegate)给 Overlay

例如。如果您的 YourNewView 中有一个 touchesEnded 并且您希望它将覆盖层保存到数据库,您会这样做

//in touchesEnded
[self.overlay saveToDb];

以此类推,所有调用都会转发到Overlay

关于iphone - 如何在iOS上设计正确的MVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11241015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com