Frage

Ich baue eine iOS-App, die macht GET Anfragen an eine URL.Für alle Anfragen baue ich die URL aus einer Basis-URL auf und füge dann Parameter hinzu NSDictionary Schlüssel-Wert-Paare.

Ich benutze auch AFNetworking 2.0 um die Anfrage zu stellen – es erstellt auch die URL mit den bereitgestellten NSDictionary-Schlüsseln.

Ich bin jetzt auf ein Problem gestoßen, bei dem ein Webdienst, den ich verwenden muss, mehrere gleiche Schlüssel mit unterschiedlichen Werten erfordert.Diese Funktionalität ist mit nicht möglich NSDictionary

Das bedeutet, dass ich den Webdienst nicht erfolgreich ausführen kann.

Hier ist ein Beispiel dafür, wie die endgültige URL aussehen muss:

http://demo.domain.net/services/.....&IncludedUserIds=12345&IncludedUserIds=2345

Der kursive Teil der obigen URL ist das, was ich mit AFNetworking und NSDictionary zu erstellen versuche.Ich vermute, dass ich etwas verwenden muss, das etwas fortgeschrittener ist als NSDictionary, um das hinbekommen zu können.

Hat jemand irgendwelche Ideen?

Bearbeiten

Ich habe eine halbe Lösung gefunden, wenn ich meine NSDictionary-Parameter mit NSSet wie folgt eingestellt habe:

    [self.parameters setObject:[NSSet setWithObjects:@"12345",@"2345", nil] forKey:@"IncludedUserIds"];

Das funktioniert so, wie ich es brauche.Allerdings habe ich eine Folgefrage:

Die Werte müssen dynamisch zu NSSet hinzugefügt werden – wie erstelle ich ein NSSet, das zur Laufzeit zusätzliche Werte akzeptieren kann?

War es hilfreich?

Lösung

Ich habe es geschafft, dieses Problem zu lösen:

Ich habe gerade Objekte in meinem NSDictionaray erstellt, etwa so:

    [self.myDictionary setObject:[NSSet setWithArray:self.myArray] forKey:@"myKeyNeeded];

Das Array enthält NSString-Objekte und das scheint perfekt zu funktionieren.Ich habe stattdessen Array verwendet NSMutableSet Aufgrund der Notwendigkeit, Objekte leicht genug aus dem NSDictionary zu entfernen.

Andere Tipps

Nun ja, das kannst du seitdem &IncludedUserIds=12345&IncludedUserIds=2345 sollte das gleiche sein wie &IncludedUserIds=12345,2345

Also nur ein Array, ein Wert für den Schlüssel im Parameterwörterbuch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top