Подтвердить что ты не робот

Сортировка NSMutableArray - нечувствительная к регистру

Я сортирую NSMutableArray следующим образом:

    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];

Проблема в том, что это чувствительно к регистру, и я хотел бы сделать регистр нечувствительным. Как я могу это сделать? Я пробовал читать документы и нашел что-то вроде этого:

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

Однако я понятия не имею, что мне следует помещать в аргумент селектора. Спасибо!

4b9b3361

Ответ 1

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

ads_printers_array = [ads_printers_array sortedArrayUsingDescriptors:[NSArray 
    arrayWithObject:sortDescriptor]];

Ответ 2

Для Swift выполните следующие действия:

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