我有这个问题:我的控制器要求我的模型为我加载一些数据,因为控制器需要这些数据来填充视图。模型向数据存储询问数据,然后再次查询数据库。我的模型发送一个块,其中包含处理结果的逻辑。
然后问题来了;如何将此数据返回给控制器?由于它是异步的,所以我不能在块内或块外放一个 return,因为我不知道它什么时候完成。
我考虑过两种解决方法;
- 让 Controller 将一个块作为回调传递给我的模型,然后它再次在自己的回调块中调用该回调。
- 让我的模型发布我的控制器可以收听的通知。
有没有人对此有很好的解决方案?
编辑:尝试澄清列表中的#1(没有任何代码):我的控制器调用,比如说,saveStuff:callback:
在模型中并传递stuff
和一个回调块。然后模型要求数据存储保存stuff
并将它自己的回调传递给数据存储。然后我要做的是在模型回调中调用控制器回调。这更有意义吗?