Я пытаюсь создать приложение, максимально точно соответствующее MVC, используя RestKit
. Цель состоит в том, чтобы включить RKObjectMapping
и RKObjectManager
, чтобы мои объекты могли быть загружены с помощью [[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
Я бы хотел, чтобы это было как можно более правильным в первый раз, чтобы избежать серьезного рефакторинга.