使用委托将数组从一个类传递到另一个类 - 最佳设计模式?

时间:2012-09-22 22:36:56

标签: objective-c ios design-patterns singleton

问题

我有一个类,用于计算用户使用CoreLocation和包含每个点坐标的数组数组(在用户位置更改时采用)。我的View Controller正在调用此类方法,但我想将其委托给另一个类,该类将结果存储在Core Data中或将其上载到数据库。我可以使用以下命令将数组返回到View Controller:

PathFinder.delegate = self

然后让我的View Controller实现我的委托协议,但这不是我想要的。

我考虑的内容

我已经考虑过将数据上传到数据库的类/将它作为单个类存储在Core Data中,以便我可以从View Controller轻松访问它。 E.g。

PathFinder.delegate = <MY SINGLETON CLASS>

结论

最好的方法是什么?将代码上传到我在PathFinder类中的服务器上的代码是不好的做法?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我有类似的东西 - 一个管理图像核心数据存储库的单例类(存储库中的一些存储库,文件系统中的一些存储库,实体中的URL)。

为什么没有单例类需要服务导入的所有对象?这样,你告诉某个对象做某事,当它完成时,它们告诉存储库保存它。您可以使用委托协议来了解它是否成功,但只是将它的保存与驱动流程和了解结果分开。