我确实找到了一些关于这个主题的建议,但仍然有一些事情需要解决。
问题是关于设计应用程序(从开发的角度来看),尤其是模型。
例如,我正在使用 Facebook SDK 构建一个应用程序。我想拥有一个用于与 Facebook API 通信的模型类是有意义的。而且我想让这个类成为单例是有意义的(不一定是)。
但 iOS 版 Facebook SDK 建立在委托(delegate)之上。因此,您发送一个请求,响应在模型中的委托(delegate)方法中返回。没关系,但我也想为模型分配一个委托(delegate),以便随后调用 View Controller 。
因此,例如, View Controller 使用 Facebook-singleton-model 发出请求,但希望将自己设置为该请求的委托(delegate),以便模型在请求完成时调用此委托(delegate)。
但是这个模型是一个单例,它只有一个代表(我希望它保持这样的状态)。
那么我是否在每次调用之前覆盖 Facebook 单例中的委托(delegate)指针? (不好,因为在此期间可能会使用相同的单例启动另一个请求,并且委托(delegate)将再次被覆盖)。
那么什么是好的架构?在应用程序中重用模型的最佳做法是什么?
Best Answer-推荐答案 strong>
我的建议是创建自己的委托(delegate)协议(protocol)并将 viewControllers 注册为单例模型的委托(delegate)。您可以通过多种方式自由地执行此操作,您可以拥有多个委托(delegate)(通过将委托(delegate)保存在单例中的数组中)。
关于iOS:应用程序中的模型架构,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8590481/
|