2011-05-20 47 views
0

I'm得到,當我試圖存取權限的數據EXC_BAD_ACCESS,我想這是因爲我試圖存取權限的內部數據,但我不知道如何解決這個問題,代碼:EXC_BAD_ACCESS訪問一個NSMutableData

//data->NSMutableData 

int identi; 

[data getBytes:&identi]; 
NSLog(@"identificador: %i",identi); 
+0

它看起來像你想,當你寫「&identi」脫引用int類型。不應該是數據getBytes:標識? – 2011-05-20 09:07:09

回答

3

documentation

在Mac OS X v10.6中已過時。這 方法是不安全的,因爲它可能 可能會導致緩衝區溢出。您 應該使用的getBytes:長度:或 的getBytes:範圍:代替。

的方法是,

- (void)getBytes:(void *)buffer 

參數:緩衝器

緩衝到其中的複製接收方的數據。緩衝區必須至少是長度字節。

您正在嘗試接收數據保存到identi,一個int值。

+0

謝謝你解決了這個問題,代碼:int identi; \t \t \t \t \t [data getBytes:&identitynti length:4]; NSLog(@「identificador:%i」,identi); – Gustavo 2011-05-20 09:25:38