使用RestKit的应用程序的MVC设计

时间:2012-03-16 20:50:54

标签: iphone objective-c design-patterns restkit

我正在尝试使用RestKit创建一个尽可能接近MVC的应用。目标是合并RKObjectMappingRKObjectManager,以便可以使用[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/object" delegate:self]加载我的对象。

在我目前的设计中,我有以下内容:

Objects
- MYBaseObject : NSObject
- MYObjectA : MYBaseObject
- MyObjectB : MYBaseObject
...
ObjectControllers
- MYBaseObjectController : NSObject
- MYObjectAController : MYBaseObjectController
- MYObjectBController : MYBaseObjectController
...
ViewControllers
- MYBaseViewController : UIViewController
- MYViewController1 : MYBaseViewController
...

我还引入了一个名为MYBaseObjectControllerDelegate的委托,它充当了可能涉及委托(如异步请求)的不同事物的适配器/包装器,以及我决定不使用RestKit的情况在将来。

1)理想情况下,我希望能够在MYViewController中执行以下操作:

self.arrayOfMYObject = [MYObjectA allObjectsWithDelegate:self];

我似乎无法找到一种方法来使用这种方法来使用委托。问题是我需要以某种方式return响应值,我无法想象只使用委托来做到这一点。

2)我想知道RestKit的各种RKObjectMapping声明应该存在于何处。他们应该住在每个物体的相应控制器中,还是应该生活在物体中?什么是合适的结构?

成为RestKit的新用户我希望第一次尽可能“正确”地避免重大重构。

1 个答案:

答案 0 :(得分:0)

查看https://github.com/RestKit/RKGithub作为可能起点的示例应用。

我已成功将此结构应用于我自己的应用程序。

在此结构下,映射位于根级别,然后由控制器调用。