2012-04-02 19 views
0

Ich vermute, es gibt eine einfache Lösung hier, aber ich habe einige Dinge ausprobiert und nichts scheint zu funktionieren. Ich möchte die gespeicherten Werte in einem Modell durchlaufen, so dass ich sie auf verschiedene Arten grafisch darstellen kann.Iterate über Schlüsselwerte in einem Restkit Modell

Ich kann auf den Web-Service zugreifen und die Daten perfekt speichern. Als Teil eines größeren Modells habe ich ein Zielmodell mit verschiedenen Zielen, die festgelegt werden können.

GoalsModel sieht aus wie

@class RoundGoalsModel; 

@interface RoundGoalsModel : NSObject { 

    NSNumber* _scoreGoal; 
    NSNumber* _parsGoal; 
    NSNumber* _birdiesGoal; 
} 

@property (nonatomic, retain) NSNumber* scoreGoal; 
@property (nonatomic, retain) NSNumber* parsGoal; 
@property (nonatomic, retain) NSNumber* birdiesGoal; 

@end 

die alle Daten da drin ist, wie erwartet. Jetzt muss ich nur noch herausfinden, wie man die Schlüssel und Werte im Modell durchläuft, damit ich Dinge wie verschiedene Symbole für verschiedene Ziele darstellen kann, prüfen, ob ein Wert Null ist usw. Ich versuche es zu vermeiden Zugriff auf jeden einzelnen mit einer Reihe von bedingten Anweisungen.

Ich habe versucht, es zu einem Array und andere Dinge, die nicht funktionieren scheinen. Jeder Rat oder jede Anregung, die mich in die richtige Richtung weisen, wäre großartig. Vielen Dank!

Antwort

1

Ihr Problem ist kein RestKit-Problem, sondern nur ein Problem mit Ihrem Design. Da Sie Ihre Daten bereits in den einzelnen Feldern gespeichert haben, können Sie einfach ein neues Feld hinzufügen, um sie in einem Array zurückzugeben.

.h

@property(readonly, retain)NSDictionary *allProperties; 

.m

@synthesize allProperties; 

- (NSDictionary*)allProperties 
{ 
    return [NSDictionary dictionaryWithObjectsAndKeys: _scoreGoal, @"scoreGoal", _parsGoal, @"parsGoal", _birdiesGoal, @"birdiesGoal", nil]; 
} 

Dann suchen Sie ganz einfach über das Wörterbuch laufen könnte und tun, was Sie wollen.

+0

Danke! Ich wusste, dass es etwas Einfaches sein musste. Das hat mich auf dem richtigen Weg. Ich muss in der Lage sein, sowohl den Schlüssel als auch den Wert zu setzen, da dieser Schlüssel für mich wichtig ist, was ich auf der Seite der Darstellungsschicht tun muss. Ich werde in NSDictionary nachdenken, würde ich denken. Es sei denn, Sie haben eine einfachere Lösung, um den Schlüssel und den Wert speichern und darauf zugreifen zu können? Danke noch einmal! Dies als die Antwort markieren. –

+0

Ich wollte das Beispiel als NSDictionary zeigen, aber aus irgendeinem Grund dachte ich, Sie wollten ein Array. Ich habe mein Beispiel geändert, um NSDictionary wiederzugeben. –