Mam usługę sieci Web, która zwraca JSON obiektu, a wewnątrz tego obiektu znajduje się lista innych obiektów. Jak mogę przekonać Mantle do stworzenia obiektu dla każdego z tych zagnieżdżonych obiektów, zamiast dostarczania mi słownika dla każdego z nich?MTLModels w ramach MTLModels?
6
A
Odpowiedz
12
Można to zrobić za pomocą mtl_JSONDictionaryTransformerWithModelClass:
tranformera wprowadzonego przez Mantle jakiś czas temu. wygląd
Miejmy na przykład wzięty z samego Mantle project readme:
@interface GHIssue : MTLModel <MTLJSONSerializing>
@property (nonatomic, strong, readonly) GHUser *assignee;
@end
@implementation GHIssue
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"assignee": @"assignee",
};
}
+ (NSValueTransformer *)assigneeJSONTransformer {
return [NSValueTransformer mtl_JSONDictionaryTransformerWithModelClass:[GHUser class]];
}
@end
Zakładając GHUser
jest podklasą MTLModel
zgodne z protokołem MTLJSONSerializing
, wszystko powinno działać idealnie.
AKTUALIZACJA: Powyższe rozwiązanie jest już przestarzałe. Prawidłową metodą użycia jest teraz metoda wewnątrz metody "assigneeJSONTransformer".
+1
Nie powiedzie się, jeśli pole cesjonariusza jest puste/zerowe. Jak mogę to sprawdzić i pominąć transformację w tym przypadku? –
Powiązane problemy
- 1. findViewById w ramach fragmentu
- 2. CTE w ramach CTE
- 3. Substring mecze w ramach SOLR
- 4. Zmienne lokalne w ramach AES
- 5. Ustawienie TempData w ramach ActionFilterAttribute
- 6. Konfiguracja zestawu w ramach kodekceptacji
- 7. Ruby: Wydajność w ramach przeliczania
- 8. Zamówienie HQL w ramach kolekcji
- 9. D3js w ramach aplikacji Java
- 10. Funkcja w ramach funkcji TSQL
- 11. Wersja Tomcat w ramach JBoss?
- 12. Zignoruj SqlTransaction.Commit w ramach TransactionScope
- 13. Mock klasy w ramach testu
- 14. Wieloprocesorowość w Pythonie w ramach mpi
- 15. Uruchamianie JavaScript w ramach usługi w Androidzie
- 16. typ ocaml ramach typu
- 17. MySQL - Zdefiniuj zmienną w ramach select i użyj jej w ramach tego samego wyboru.
- 18. Zaloguj się w ramach collectiveidea/delayed_job
- 19. Pobierz indeks elementu w ramach UL
- 20. Korzystanie z dziedziczenia w ramach związku
- 21. O wielu kontenerach w ramach wiosna
- 22. Jak testować UICollectionView w ramach UIViewController
- 23. FileUpload nie działa w ramach panelu aktualizacji
- 24. Korzystanie z include() w ramach ob_start()
- 25. ELMAH w ramach błędu strony tematycznej
- 26. Wyszukiwanie przez XPath w ramach danego elementu
- 27. Parsowanie pliku pom.xml w ramach potoku Jenkinsa
- 28. Jak użyć wyrażenia lambda w ramach oddzielnych
- 29. Uzyskiwanie ograniczeń NSImage w ramach NSImageView
- 30. Dawanie spektrum nakładki w ramach Phaser
możliwy duplikat [Jak określić typ obiektów podrzędnych w NSArray z Mantle] (http://stackoverflow.com/questions/13883693/how-to-specify-child-objects-type-in-an-nsarray- z płaszczem) –