Проблема сортировки строк NSFetchedResultsController - PullRequest
0 голосов
/ 31 августа 2011

Я установил строку (которая на самом деле является строкой) в качестве sectionNameKeyPath.Это нормально, но, например, 16 сентября 2011 года, в более раннем разделе, чем 2 сентября 2011 года. Как лучше всего обойти эту проблему

enter image description here

Обновление Мой обходной путь - вместо строки, создайте из нее int (например, 20110909 для 2011-09-09), а затем в методе titleForHeader снова включите его в строку

Ответы [ 3 ]

0 голосов
/ 31 августа 2011

Это потому, что, как и на любом другом языке, он сортируется как строка, а первый символ 3 больше 1. Вам нужно будет реализовать свой собственный компаратор, если вы хотите, чтобы они сортировались любым другим способом.

0 голосов
/ 31 августа 2011

Попробуйте преобразовать строки NSStates в NSDates, а затем отсортировать их, например, так:

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"d MMM yyyy"];
NSDate *date = [formatter dateFromString:@"3 September 2011"];
0 голосов
/ 31 августа 2011

Советую преобразовать NSString обратно в NSDate и использовать стандартный метод [NSDate compare:].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...