Hi Colin,

On Tue, May 5, 2009 at 9:50 AM, Colin Cornaby <co...@consonancesw.com> wrote:
> I'm dealing with some code that returns results out of order, but the
> results contain the proper index. In the end, I'd like to put them all into
> an NSArray, but unlike a C array, NSArray doesn't seem to allow me to simply
> reserve X number of slots and fill the slots as the results come in.
>
> One workaround I can see is to actually store the results in a C array, and
> then initialize the NSArray from the C array. I could also write an
> algorithm that would try to rearrange the NSMutableArray as results come
> back, but that seems more complicate. Initializing from a C array looks like
> the best bet, but this is a commonly called function of the software that is
> performance sensitive, and could be dealing with large sets of data, so I
> was wondering about the overhead of this approach.
>
> Has anyone here run into a similar situation?

If you know the count before you receive the results, I'd write an
NSArray subclass and allocate a C array of the required size before
you receive the results. I think that will give you the best
performance as well as an NSArray interface. There's only a few
methods you need to implement.

If you're not sure of the size beforehand, then I'd explore using an
NSArray implementation. You could consider filling the unused spots
with [NSNull null] or perhaps use CoreFoundation with some custom
callbacks. There might be some CoreFoundation functions that will
quickly insert a load of NULL values that you can use.

Regards,

Chris
_______________________________________________

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