1
我想保持一个GKSession每10秒钟一个预定的重新发生的ping。有人说NSData对象应该是4个字节长。如何创建一个4字节大的NSData?
如何创建这样一个4字节的ping NSData对象? 是否这样?
int number = 1234;
NSData *pingData = [NSData dataWithBytes:&number length:4];
还是有更简单/更准确的方法吗?
这是一个重要的区别。然而,在64位计算时代,我认为不应该认为'int'被认为是4字节了。据我所知,“int”是操作系统主要支持的处理器上的单个寄存器的大小,所以16位(如MSDOS,基本不存在)上的2个字节,32位上的4个字节(例如iOS和旧OS X)和64位(如Modern OS X)上的8个字节。这样'int'很可能是目标架构在使用时最有效的数据类型。 – borrrden
即使在64位Mac上,int也是4个字节。 Mac OS X就是所谓的“LP64”系统,意思是指长和指针是64位。 –
是的,就像Catfish_Man所说的那样,对Mac或iOS的程序员来说,这是一个理论上的问题,而不是实际的问题。但是我仍然认为最好先编写正确的代码,而不是依赖整个代码运行时的宽度。 – Chuck