Ho davvero faticato per capire perché la mia chiamata al servizio web è piena di dati spazzatura.NSURLConnection delegate didReceiveData caratteri finali nei dati
Ho un UITableViewController che chiama il servizio Web e funge anche da NSURLConnectionDelegate.
Ecco il metodo di interesse delegato, prendere nota delle istruzioni NSLog.
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
NSLog(@"data %@", [[NSString alloc] initWithUTF8String: [data bytes]]);
NSLog(@"before %@", [NSString stringWithUTF8String: self.rawData.bytes]);
[self.rawData appendData:data];
NSLog(@"after %@", [NSString stringWithUTF8String: self.rawData.bytes]);
}
Ecco il registro risultante dopo un certo numero di tentativi:
2009-07-10 09:04:20.339 SundialInvoice[91493:20b] data {"items": [], "request":
"/inventory/delivered.json"}
2009-07-10 09:04:20.339 SundialInvoice[91493:20b] before
2009-07-10 09:04:20.340 SundialInvoice[91493:20b] after {"items": [], "request": "/inventory/delivered.json"} SundialInvoice] [PID
2009-07-10 09:04:23.153 SundialInvoice[91493:20b] data {"items": [], "request": "/inventory/delivered.json"}l 4] [Mes
2009-07-10 09:04:23.154 SundialInvoice[91493:20b] before
2009-07-10 09:04:23.154 SundialInvoice[91493:20b] after {"items": [], "request": "/inventory/delivered.json"} SundialInvoice] [PID
2009-07-10 09:04:27.913 SundialInvoice[91493:20b] data (null)
2009-07-10 09:04:27.913 SundialInvoice[91493:20b] before
2009-07-10 09:04:27.914 SundialInvoice[91493:20b] after {"items": [], "request": "/inventory/delivered.json"} SundialInvoice] [PID
2009-07-10 09:04:30.486 SundialInvoice[91493:20b] data {"items": [], "request": "/inventory/delivered.json"}ice/1.0 CFN
2009-07-10 09:04:30.487 SundialInvoice[91493:20b] before
2009-07-10 09:04:30.487 SundialInvoice[91493:20b] after {"items": [], "request": "/inventory/delivered.json"} SundialInvoice] [PID
Dove sono i dati spazzatura finali provenienti da? Ho eseguito il servizio web con arricciatura diverse volte e la spazzatura non viene da esso.