On Jan 16, 2009, at 8:27 AM, David Harper wrote:

Hello,

I have written a comparator that returns an NSComparisonResult based on the comparison of two objects as required for

[(NSMutableArray *)someArray sortUsingSelector:@selector(theSelector:)]

Now, I want this array to remain sorted after each insert. For now I am inserting, then sorting, but this is not ideal. Is there a way to perform an insert using the same selector to find the correct index before inserting?

Bill Bumgarner asked good questions about whether you really need this or not, but if you do need it, another thing that you could do would be to go look at OmniFoundation <www.omnigroup.com/developer/>, which includes a category on NSMutableArray for keeping arrays sorted:

// Maintaining sorted arrays
- (void)insertObject:(id)anObject inArraySortedUsingSelector: (SEL)selector; - (void)insertObject:(id)anObject inArraySortedUsingFunction: (NSComparisonResult (*)(id, id, void *))compare context:(void *)context; - (void)removeObjectIdenticalTo:(id)anObject fromArraySortedUsingSelector:(SEL)selector; - (void)removeObjectIdenticalTo:(id)anObject fromArraySortedUsingFunction:(NSComparisonResult (*)(id, id, void *))compare context:(void *)context;

(These methods all use binary searches across the array contents.)

Hope this helps,
Greg _______________________________________________

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