Skip navigation.
 
mlRe: More GC. Now with NSData
FROM : Paul Sargent
DATE : Mon Nov 26 21:38:10 2007

On 26 Nov 2007, at 17:44, Alastair Houghton wrote:

> On 26 Nov 2007, at 17:20, Paul Sargent wrote:
>

>> My question is this, I've created these NSDatas without copying the 
>> bytes, so have I put myself in a position where the garbage 
>> collector could release the memory beneath them if the original 
>> fullDataDump NSData was released?

>
> Yes.  The garbage collector doesn't support interior pointers.  You 
> need to keep the original object around by holding on to a reference 
> to it until you're done with all of your data objects.
>
> A better approach to the problem would be to use NSData's -
> subdataWithRange: method; that will avoid having to do pointer 
> arithmetic and will also avoid entirely the problem with the garbage 
> collector.


Ahh, Thanks. Still not 100% familiar with all the functionality 
available.

Just to be clear, -subdataWithRange will make a copy of the data into 
it's own buffer, which the new NSData will own. Hence it'll be safe. 
Right?

Related mailsAuthorDate
mlMore GC. Now with NSData Paul Sargent Nov 26, 18:20
mlRe: More GC. Now with NSData Alastair Houghton Nov 26, 18:44
mlRe: More GC. Now with NSData Sherm Pendley Nov 26, 18:56
mlRe: More GC. Now with NSData Alastair Houghton Nov 26, 19:00
mlRe: More GC. Now with NSData Paul Sargent Nov 26, 21:38
mlRe: More GC. Now with NSData Alastair Houghton Nov 26, 21:50