一、 问题
将int 转换为NSData , 比如 Int i = 1 转化为NSData 对应的十六进制 应该是 0 0 0 1.
这个问题折腾了很久 socket 通过WiFi 连接 硬件,一直发了消息没返回,后来才发现是接口里一个转换不对造成的。
二、办法
+(NSData *)int2Nsdata:(int) i{
int j = ntohl(i); //高低位转换 不然1 的结果是 1 0 0 0
NSData *data = [NSData dataWithBytes: &j length: sizeof(i)];
return data;
}