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