我已经设置了一个字符串(实际上是一个字符串)作为sectionNameKeyPath。它的排序很好,但是例如2011年9月16日,比2011年9月2日更早的部分。解决这个问题的最佳方法是什么
更新我的解决方法是代替字符串,从中创建一个int(例如2011-09-09的20110909),然后在titleForHeader方法中再次将其转换为字符串
答案 0 :(得分:0)
我建议将NSString
转换回NSDate
并使用标准[NSDate compare:]
方法。
答案 1 :(得分:0)
这是因为在任何其他语言中,它被排序为一个字符串,第一个字符3大于1.如果你想让它们以任何其他方式排序,你将不得不实现自己的比较器。
答案 2 :(得分:0)
尝试将NSStrings转换为NSDates,然后对它们进行排序,如下所示:
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"d MMM yyyy"];
NSDate *date = [formatter dateFromString:@"3 September 2011"];