2011-08-31 39 views
0

我已經設置了一個字符串(實際上是一個字符串)作爲sectionNameKeyPath。它的排序很好,但例如2011年9月16日,是在前面的章節中於2 2011年9月什麼是解決此問題字符串排序問題NSFetchedResultsController

enter image description here

更新我的解決辦法的最好辦法是而不是一個字符串,使得它從一個int(如20110909爲2011-09-09),然後在後面titleForHeader方法再次打開它在一個字符串

+1

這是因爲3> 1 ... – Nekto

+0

它沒有那種精細的。舉一個例子,「2011年11月1日」也將在「2011年12月1日」之後出現。 – hwaxxer

回答

0

這是因爲和任何其他語言一樣,它被分類爲一個字符串,第一個字符3大於1.如果你想讓它們以其他方式排序,你必須實現你自己的比較器。

0

我奉勸NSString轉換回NSDate和使用標準[NSDate compare:]方法。

0

嘗試轉換您的NSString的以NSDates,然後對它們進行排序,這樣的事情:

NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
[formatter setDateFormat:@"d MMM yyyy"]; 
NSDate *date = [formatter dateFromString:@"3 September 2011"];