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