Frage

net-Webdienst, der „true“ oder „false“ zurückgibt, aber ich weiß nicht, wie ich diese Antwort in meiner IOS-App abfangen kann.

Mein Dienst aktualisiert Daten in einer Datenbank und ich weiß, dass es funktioniert. Die Daten werden aktualisiert. Das Abfangen der Antwort ist das Problem. Ich möchte es gerne wissen, damit ich dem Benutzer mitteilen kann, ob etwas schief gelaufen ist.

Für diejenigen unter Ihnen, die wissen, dass es sich bei c# um eine Bool-Methode handelt, probieren Sie einfach „catch“ aus und geben Sie „true“ oder „false“ zurück.

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    //What to write here to catch my true or false
    if(response) {
       //true
    } else {
       //false
    }
}

Ich danke Ihnen für Ihre Hilfe

War es hilfreich?

Lösung

Sie sollten umsetzenconnection:didReceiveData: um NSData zu erhalten und zu speichern und – connectionDidFinishLoading: wo Sie empfangene Daten als BOOL interpretieren können.

grundsätzlich didReceiveResponse: Informieren Sie sich nur über die Serverantwort auf Ihre Anfrage, nicht über die gesamte Antwort.

Andere Tipps

Sie sollten den HTTP-Statuscode der Antwort überprüfen, z. B.:

NSInteger statusCode = [(NSHTTPURLResponse*)response statusCode];

Der Statuscode für eine erfolgreiche Anfrage verwendet den Bereich [200..299].

Beispielsweise würde eine erfolgreiche GET-Anfrage mit einem angezeigt 200 (OK).

Eine erfolgreiche POST-Anfrage wird mit einem angezeigt 201 (Erstellt).

Eine erfolgreiche DELET-Anfrage wird mit einem angezeigt 204 (Kein Inhalt)..

Siehe auch:Wiki Liste der HTTP-Statuscodes.

Darüber hinaus müssen Sie die Art der Daten überprüfen, die der Server an Sie gesendet hat:

NSString* mimeType = [response MIMEType];

Der MIME-Typ wurde vom Server im gesendet Content-Type Header der Antwort.

Siehe auch Wiki MIME-Internetmedientyp

Was Sie tatsächlich erhalten, hängt vollständig von Ihrer Anfrage UND dem Server ab.

Beispielsweise kann der Server immer mit einem JSON als Inhaltstyp antworten.In diesem Fall der Header Content-Type des Antwort wäre application/json.Der tatsächliche JSON-Code, der die Antwort darstellt, wird ebenfalls mit dem Statuscode verknüpft.

Um dem Benutzer eine ansprechende, für Menschen lesbare Nachricht bereitzustellen, müssen Sie die Webdienst-API konsultieren und herausfinden, wie sie spezifiziert wird.Bestimmte Webdienst-APIs verfügen möglicherweise über eine beträchtlich große API.Leider fehlt einigen Webdiensten eine umfassende Dokumentation.

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