Я использовал stringWithUTF8String для преобразования моих NSData в NSString следующим образом:
if ([[NSString stringWithUTF8String:[responsedata bytes]] isEqualToString:@"SUCCESS"]){
dostuff...
}
Он работал нормально; однако после обновления iOS 8.2 [[NSString stringWithUTF8String:[responsedata bytes]]
возвращал ноль.
Я решил проблему, используя следующий код:
NSString *responseDataString = [[NSString alloc] initWithData:responsedata encoding:NSUTF8StringEncoding];
if ([responseDataString isEqualToString:@"SUCCESS"]){
dostuff...
}
В обоих случаях напечатанное описание responsedata
было одинаковым: <OS_dispatch_data: data[0x7aeb6500] = { leaf, size = 7, buf = 0x7c390360 }>
Мой вопрос: ПОЧЕМУ первый вариант вернет ноль, и ПОЧЕМУ вдруг после обновления iOS 8.2?