Re: NSMutableArray comparator; sorting on insert
Re: NSMutableArray comparator; sorting on insert
- Subject: Re: NSMutableArray comparator; sorting on insert
- From: Greg Titus <email@hidden>
- Date: Fri, 16 Jan 2009 09:18:21 -0800
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 (email@hidden)
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:
This email sent to email@hidden