我已經設置了一個字符串(實際上是一個字符串)作爲sectionNameKeyPath。它的排序很好,但例如2011年9月16日,是在前面的章節中於2 2011年9月什麼是解決此問題字符串排序問題NSFetchedResultsController
更新我的解決辦法的最好辦法是而不是一個字符串,使得它從一個int(如20110909爲2011-09-09),然後在後面titleForHeader方法再次打開它在一個字符串
我已經設置了一個字符串(實際上是一個字符串)作爲sectionNameKeyPath。它的排序很好,但例如2011年9月16日,是在前面的章節中於2 2011年9月什麼是解決此問題字符串排序問題NSFetchedResultsController
更新我的解決辦法的最好辦法是而不是一個字符串,使得它從一個int(如20110909爲2011-09-09),然後在後面titleForHeader方法再次打開它在一個字符串
這是因爲和任何其他語言一樣,它被分類爲一個字符串,第一個字符3大於1.如果你想讓它們以其他方式排序,你必須實現你自己的比較器。
我奉勸NSString
轉換回NSDate
和使用標準[NSDate compare:]
方法。
嘗試轉換您的NSString的以NSDates,然後對它們進行排序,這樣的事情:
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"d MMM yyyy"];
NSDate *date = [formatter dateFromString:@"3 September 2011"];
這是因爲3> 1 ... – Nekto
它沒有那種精細的。舉一個例子,「2011年11月1日」也將在「2011年12月1日」之後出現。 – hwaxxer