为了完整性起见,下面是我用来解决对对象排序问题的代码。将其添加到nsstring的类别中。
- (NSComparisonResult)localizedCaseInsensitiveExcludeTheCompare:(NSString*)aString{
NSString* firstString = [self stringByRemovingArticlePrefixes];
aString = [aString stringByRemovingThePrefixes];
return [firstString localizedCaseInsensitiveCompare:aString];
}
- (NSString*)stringByRemovingThePrefixes{
if([self length] < 5)
return self;
NSString* aString = [self copy];
if([[aString substringToIndex:4] doesContainString:@"The "]){
aString = [aString substringFromIndex:4];
aString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
}else if([[aString substringToIndex:4] doesContainString:@"the "]){
aString = [aString substringFromIndex:4];
aString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
}
return [aString autorelease];
}