2011-10-24 13 views
8

Piszę klienta dla usług sieciowych typu semi-REST (na razie obsługuje tylko żądania GET).Odwzorowywanie wielu zasobów z jednego menedżera obiektów ObjectManager w pakiecie RestKit

Mój problem jest następny. Mam jeden podstawowy adres URL i dwa typy zasobów dla każdego z różnych ścieżek zasobów.

Do tego czasu mam dwie klasy, które stanowią, że struktury zasobów, mam dwie instancje RKObjectMapping do mapowania każdego rodzaju zasobów i mam dwie instancje z RKObjectManager każdy z innego mapowania. W aplikacji ładuję zasoby wywołujące loadObjectsAtResourcePath: dla każdego wystąpienia RKObjectManager.

Czy ktoś może zasugerować, w jaki sposób mogę poprawić mój kod, ponieważ uważam, że powinienem używać tylko jednego wystąpienia RKObjectManager, ponieważ pracuję tylko z jedną usługą sieciową.

Będę bardzo wdzięczny za wszelkie porady, ponieważ dużo szukałem i nie znalazłem żadnego rozwiązania.

+3

Podstawowy adres URL jest taki sam, a punkty końcowe są różne, prawda? Jaka jest korzyść z używania dwóch instancji RKObjectManager? dlaczego nie skorzystać z jednego i podać prawidłowe mapowanie dla każdego połączenia? – theVurt

+0

Zgadzam się z Vurt. Dlaczego po prostu nie użyć [sharedManager RKObjectManager]? –

Odpowiedz

2

Aby użyć jednego RKObjectManager, myślę, że można zrobić coś takiego:

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:somePath 
               usingBlock:^(RKObjectLoader* loader) { 
    // Set the mapping to use for this particular request 
    loader.objectMapping = specificObjectMappingRequired; 
    loader.delegate = ... 
}]; 

Zobacz RKObjectManager reference aby uzyskać więcej informacji.

Powiązane problemy