Naprawdę walczyłem, aby dowiedzieć się, dlaczego moje wezwanie do serwisu internetowego jest usiane błędnymi danymi.Delegacja NSURLConnection didReceiveData ciągłe znaki w danych
Mam UITableViewController, który wywołuje usługę sieci web, a także działa jako NSURLConnectionDelegate.
Oto delegowana metoda zainteresowania, zwróć uwagę na instrukcje 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]);
}
Oto uzyskany dziennik po kilku próbach:
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
Gdzie jest końcowe dane na śmieci pochodzących z? Kilka razy uruchamiałem usługę WWW z lokówkami, a śmieci nie pochodzą od niej.