2009-12-11 19 views
27

'daki içeriği nasıl silebilirim Serbest bırakmadan bir NSMutableData'yı nasıl temizleriz ve tekrar kullanılmak üzere yeniden yeniden tahsis/yeniden başlatırız? Sıfırdan ayarlamak için resetBytesInRange'a bakıyordum ama bundan emin değilim. Herkes yardım edebilir mi?İçindekiler NSMutableData

cevap

58

boş bir tampon isterseniz:

[data setLength:0]; 

sıfıra tüm bayt boyutunu tutmak ancak ayarlamak istiyorsanız:

[data resetBytesInRange:NSMakeRange(0, [data length])]; 
+1

Ne, yaklaşık [veri setData: nil]; ? – karim

+0

@karim Belgeler belirsizdir, fakat ben sadece test ettim ve OS X 10.8'de çalışıyor. – benzado

+1

İkinci kodu kullanırsak, 'data' değişkeninin her zaman aynı belleği (ama hepsi silinir - 0000000) tutar. Bu nedenle, 'veri'ye daha fazla veri eklemeyi denerseniz, bu aralığın sonunda eklenecektir. Örneğin, 'verilerim' 300 bayta sahip, biz bu sıfırlamaBytes diyoruz, sonra 100 bayt daha ekliyoruz. 'Veri' uzunluğu 400 bayt (100 bayt değil) olacaktır. Stratejiye bağlı olarak setLength veya resetBytesInRange kullanabiliriz. –

İlgili konular