В одном месте моего приложения я инициализирую асинхронный запрос, используя NSURLConnection:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:[self.URLs objectForKey:@"API URL"]]
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];
apiConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[request release];
и получите результат:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
if (responseData == nil) {
responseData = [[NSMutableData alloc] init];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
NSLog(@"%s", [data bytes]);
}
Проблема в том, что иногда случайные данные добавляются к фактическим данным, возвращаемым сервером. Иногда сообщение журнала, а также фактический вывод (после преобразования в объект NSString в connectionDidFinishLoading:connection
) содержат некоторую часть некоторого заголовка, «CFNetwork» или просто произвольные байты / символы.
Это известная ошибка? Кто-нибудь сталкивался с этим раньше и знает, как обойти это? Есть что-то, что я могу делать не так?