On Nov 27, 2009, at 12:46, Shane wrote:

> I don't know how large my NSPointArray size needs to be so I'd like to
> know how I would dynamically allocate NSPoints to populate an
> NSPointArray? I think I can do it with NSMutableArray, but
> NSBezierPath takes an NSPointArray (which is what my end result is for
> the points) and it just seems cleaner and more efficient if I can stay
> with that instead of converting between point arrays and mutable
> arrays.


The most direct (and C-ish) way is to malloc memory for the NSPointArray and 
realloc it whenever you need to grow its size.

The easiest way (and Objective-C-ish way) is to use a NSMutableData object with 
the NSPointArray as its data. Whenever you want to add points, just resize the 
NSMutableData object to 'sizeof (NSPoint)' * total number of points, and use 
'(NSPointArray) [data mutableBytes]' as a pointer to the start of the array.

(If you use the latter approach, and you're using garbage collection, and you 
assign the '[data mutableBytes]' pointer to a stack variable or pass it as a 
method parameter, make sure you keep the NSMutableData object reference alive 
until you're done with the 'mutableBytes' pointer.)



_______________________________________________

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