2016-08-04 49 views
0

我試圖編寫一些代碼來組裝數據包通過網絡發送;不過,我遇到了組裝數據包的問題。下面是說明我的情況有些代碼:當使用NSData與NSMutableData時內存中的不同值

NSMutableData *data1 = [NSMutableData dataWithLength:3]; 
NSData * data2 = [[NSData alloc] initWithBytes:(unsigned char[]){0xAA, 0xAA, 0xAA} length:3]; 
[data1 appendBytes:(unsigned char[]){0xAA, 0xAA, 0xAA} length: 3]; 

當我設置一個斷點,並讀取內存的值*data1*data2data1只有在它的垃圾值,而data2會在內存中有0xAA的。

我看着Apple開發人員參考,但似乎沒有找到任何相關的東西。我注意到的一個有趣的事情是data1的初始化應該已經清零了字節,我也沒有看到它。

所以我想知道是否有一些明顯的錯誤,我在我的代碼,或對NSData/MutableData對象的一些基本誤解,看到我很新的目標C?任何幫助,將不勝感激。謝謝!

編輯:我很笨......看起來如果我回憶data1,而不是*data1,我可以找到我追加的值。

回答

0

我在看錯誤的值,我應該一直在回憶data1而不是*data1