Adam R. Maxwell wrote on Tuesday, January 06, 2009 9:59 AM: > On Jan 6, 2009, at 8:16 AM, Karan, Cem (Civ, ARL/CISD) wrote: > > > My question is, does NSArray already have a binary search method > > defined on it in a category somewhere? If it does, I'd rather use > > that. > > It's not a category, but take a look at CFArrayBSearchValues, > which works just fine thanks to toll-free bridging.
That looks just like what I need! I know I'm being pedantic, but just to make sure, will the following code work? // mySortedArray is an NSArray of NSString instances that has been sorted // via caseInsensitiveCompare:. The strings within the array are unique; // you'll never see the same string twice in the array. myString is an // NSString instance that may or MAY NOT be within the array. CFRange arrayRange; arrayRange.location = 0; arrayRange.length = [mySortedArray count]; CFIndex stringIndex; stringIndex = CFArrayBSearchValues( mySortedArray, arrayRange, myString, CFStringCompare, kCFCompareForcedOrdering); if ((stringIndex < 0) || (stringIndex >= [mySortedArray count])) { // Didn't find myString, do something intelligent } else if ([myString isEqualToString:[mySortedArray objectAtIndex:stringIndex]] == NO) { // Still didn't find myString, do something intelligent } else { // Found myString's actual index, do the work I need to do and move on. } Thanks, Cem Karan _______________________________________________ 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