On Oct 8, 2011, at 10:05 PM, Quincey Morris wrote:

> On Oct 8, 2011, at 14:31 , silve...@wfmh.org.pl wrote:
> 
>> What am I doing wrong? Shouldn't the instance created using 
>> dataWithBytesNoCopy:length:freeWhenDone simply hold the same bytes as 
>> the originally provided ones? 

> I'd guess that, with the 'NO' parameter, NSMutableData copies the data anyway.

This is actually documented.  In the Binary Data Programming Guide, in the 
article Working With Binary Data[1], it says:

> However, if you create an NSData object with one of the methods whose name 
> includes NoCopy (such as dataWithBytesNoCopy:length:), the bytes are not 
> copied. Instead, the data object takes ownership of the bytes passed in as an 
> argument and frees them when the object is released. (NSMutableData responds 
> to these methods, too, but the bytes are copied anyway and the buffer is 
> freed immediately.)

Cheers,
Ken

[1] 
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/BinaryData/Tasks/WorkingBinaryData.html

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to