I subclassed haben ein NSData
Objekt in meinem .h und .m-Dateien wie folgt:Erste Daten aus einer NSURLConnection POST-Methode
@interface Test : NSData // and so forth
ich eine Funktion erstellt haben, die JSON
Daten senden an den Server zurück erzeugt als a POST
. Ich erhalte in dem Code zu diesem Teil:
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Frage 1:
Wie kann ich feststellen, wenn die Verbindung/Post erledigt ist? Ist es im If/Else unten?
if(conn) {
NSLog(@"Connection Successful");
} else {
NSLog(@"Connection could not be made");
}
Frage 2:
Wie verwende ich diese Delegatmethoden unter den Daten zu erhalten, die zurückgegeben wird?
// This method is used to receive the data which we get using post method.
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data
// This method receives the error report in case of connection is not made to server.
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
// This method is used to process the data after connection has made successfully.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
BTW, wenn Sie 'NSURLSession' verwenden, können Sie die Einfachheit der blockbasierten Abschluss-Handler (Art wie' NSURLConnection' des 'sendAsynchronousRequest' ... keine Delegatmethoden genießen wäre es, wenn Sie sich Sorgen zu machen don will nicht), aber (a) es ist kündbar; und (b) Sie vermeiden die Verwendung der nun veralteten 'NSURLConnection'. – Rob
Auch ich bin mir nicht sicher, warum Sie die Unterklasse 'NSData' machen würden. Das ist im Allgemeinen unnötig. Normalerweise würden Sie nur 'NSMutableData' verwenden. – Rob
@Rob danke. Ja, ich werde NSURLSession verwenden. Sollte überprüft haben, ob es zuerst veraltet war. – cdub