On Tue, Oct 5, 2010 at 4:48 AM, Derek Huby <dh...@mac.com> wrote: > This method isn't doing what I expect it to do (which probably means that I'm > expecting the wrong thing.) > > //===================================================== > NSRange range = NSMakeRange(0,1); > > NSString *s1 = @"ab"; > NSString *s2 = @"ac"; > > //Just compare the first character > NSComparisonResult result1 = [s1 compare:s2 options:NSLiteralSearch > range:range locale:[NSLocale currentLocale]]; > NSLog(@"Result 1 = %d", result1); > > //Now swap the order of the strings > NSComparisonResult result2 = [s2 compare:s1 options:NSLiteralSearch > range:range locale:[NSLocale currentLocale]]; > NSLog(@"Result 2 = %d", result2); > //===================================================== > > I get a result of -1 both times. Since we are only comparing the first > character, shouldn't the result be 0?
>From the docs: range The range of the receiver over which to perform the comparison. The range must not exceed the bounds of the receiver. So you are comparing @"a" to @"ac" in the first case, and @"a" to @"ab" in the second. _______________________________________________ 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