NSMutableData错误(iPhone)

时间:2012-09-05 00:10:44

标签: iphone cocoa

我使用NSMutableData对象来存储表示系列数据的32字节结构的列表。这些系列可能会扩展,添加,对齐等。为了节省不必要对象的分配,我尝试扩展并将字节附加到现有对象而不是分配新对象。

我今天在模拟器中发现了一些奇怪的行为:1)使用setLength和increaseByLength并不总是将所有新字节归零,2)修改后使用这些对象导致崩溃。崩溃都在非常不同的区域,但总是EXC_BAD_ACCESS。经过相当多的调试后,我最终分配了新对象来处理via mutableCopy,并在完成后将它们分配给我的对象属性。这解决了我遇到的所有问题。

* 我正在后台线程中使用这些对象,但是已将所有操作包装在同步块中,并且无法观察到相关对象的任何竞争条件。

有没有人注意到类似的奇怪之处?

感谢。

1 个答案:

答案 0 :(得分:0)

我还没有得到答案,所以我想我会跟进我的解决方案。我最终需要重新分配新的NSData / NSMutableData对象,并在将它包装到NSData对象之前直接使用内存。