我一直在使用 stringWithUTF8String 将我的 NSData 转换为 NSString,如下所示:
if ([[NSString stringWithUTF8String:[responsedata bytes]] isEqualToString:@"SUCCESS"]){
dostuff...
}
它运行良好;但是,自从 8.2 iOS 更新以来,[[NSString stringWithUTF8String:[responsedata bytes]]
返回 nil。
我通过使用以下代码解决了这个问题:
NSString *responseDataString = [[NSString alloc] initWithData:responsedata encoding:NSUTF8StringEncoding];
if ([responseDataString isEqualToString:@"SUCCESS"]){
dostuff...
}
在这两种情况下responsedata
,印刷的描述都是一样的:<OS_dispatch_data: data[0x7aeb6500] = { leaf, size = 7, buf = 0x7c390360 }>
我的问题是:为什么第一个选项会返回 nil,为什么在 iOS 8.2 更新后突然返回?