I analizować niektóre JSON z usługi internetowej, to daje mi NSDictionary, używam tego słownika do właściwości zaludnionych na valueEntity typu NSObject przezCzy istnieje odwrotna "setValuesForKeysWithDictionary" - a makeDictionaryWithObjectProperties?
[myObject setValuesForKeysWithDictionary:JSONDict];
(myObject ma takie same nazwy właściwości i typy jak słownika z parsera JSON)
name = name
count = count
startDate = startDate
etc..
Czy istnieje sposób, aby przejść na drugą stronę, gdzie mam NSDictionary, które chciałbym mieć „wypełnione” z właściwościami i ich wartościami z podklasy mój NSObject. Tak jak sugeruje w tytule, coś na wzór tego:
jeden sposób
MyObject *myObject = [[MyObject alloc] init];
[myObject setValuesForKeysWithDictionary:JSONDict];
na odwrót
NSMutableDictionary *dict = [myObject makeDictionaryWithObjectProperties];
Powodem tego jest to, że mieć valueEntity, które według protokołu, wszystkie moje widoki są zgodne, ale chciałbym wypełnić obiekt NSManagedObject również wartościami. Więc pomyślałem, że używając NSDictionary jako pośredniego kroku mogę obejść konieczność zrobienia kategorii na moim NSManagedObject, który ustawia każdą właściwość ręcznie od wartości na moim obiekcie podporządkowanym NSObject.
ze słownikiem mogę Go:
[myManagedObject setValuesForKeysWithDictionary:dict];
Po prostu nie mogę uzyskać słownika reprezentację z powrotem raz zrobiłem wyżej?
Cześć, dziękuję :) Widzę, że nie jest tak automatyczny jak [obj setValuesforKeysWithDictionary: dict], ale potem znowu, jak zaznacza Yuji, pozwala to wybrać i wybrać właściwości i uniknąć relacji itp. To jest naprawdę świetne, ponieważ mogę teraz utrzymywać pojedynczą tablicę nazw właściwości, które są współużytkowane przez obiekty i jest to o wiele bardziej elastyczne rozwiązanie. Jeszcze raz dziękuję, trafią prosto na przewodników. – RickiG
Hej, Ricki, nie ma problemu :-) – jlehr
Dzięki za odpowiedź .. Szukałem tego samego ... :) – Mrunal