objective-c cocoa nssortdescriptor

objective c - Clasificación NSMutableArray-no distingue mayúsculas y minúsculas



objective-c cocoa (2)

Estoy ordenando un NSMutableArray como sigue:

NSSortDescriptor *sortDescriptor; sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:str_key ascending:bool_asc_desc] autorelease]; NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; NSArray *sortedArray; sortedArray = [ads_printers_array sortedArrayUsingDescriptors:sortDescriptors];

El problema es que esto distingue entre mayúsculas y minúsculas, y me gustaría que sea insensible a las mayúsculas. ¿Cómo puedo hacer eso? Intenté leer los documentos y encontré algo como esto:

sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:str_key ascending:bool_asc_desc selector: @selector(caseInsensitiveCompare)] autorelease];

Sin embargo, no tengo idea de lo que debería poner en el argumento selector. ¡Gracias!


Para Swift, haga lo siguiente:

let sortDescriptor = NSSortDescriptor(key: sortDescriptorKey, ascending: true, selector: #selector(NSString.caseInsensitiveCompare(_:)))


NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:str_key ascending:YES selector:@selector(caseInsensitiveCompare:)]; ads_printers_array = [ads_printers_array sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];