2015-05-17 30 views
-6

我想使用明智的年份對數組進行排序並創建年份明智的數組並創建整個主數組任何人都可以幫助我?我有一個陣列它的數千條記錄

NSArray *anArray = @ @{@"newsID" : @"1",@"userID" : @"3",@"catID" : @"2",@"news" : @"may i know",@"date" : @"Tue, 22 May 2013 00:00:00 GMT+05:30"},]; 
+0

數組並不是容納這麼多信息的地方,它聽起來像你需要讓自己變成一個數據庫!不管代碼應該是什麼,它不是一個數組! – luk2302

+0

我想他錯過了@ [從數組 開始它應該是這樣的 NSArray * anArray = @ [@ {@「newsID」,... – shujatAli

+0

如果你將數據放入數據庫並查詢數據按日期排列,如果數據量很大 – shujatAli

回答

3

您可以排序使用描述符排序

NSArray *sortedArrayWithDate = [anArray sortedArrayUsingComparator: 
             ^(id obj1, id obj2) { 
              NSString *dt1string = [obj1 objectForKey:@"date"]; 
              NSString *dt2string = [obj2 objectForKey:@"date"]; 
              NSDate *dt1 =[self converttoDate : dt1string]; 
              NSDate *dt2 =[self converttoDate : dt2string]; 
              return [dt1 compare:dt2]; 

             }]; 

,你必須創建converttoDate函數採用字符串作爲參數,返回日期 你可以根據日期格式可以輕鬆地查找功能轉換日期爲字符串

參考stringtodate

[http://stackoverflow.com/questions/4380381/convert-string-to-date-in-my-iphone-app][1] 
[http://stackoverflow.com/questions/936969/nsdate-and-nsdateformatter-short-format-date-and-time-in-iphone-sdk][2] 
+0

我認爲第二個日期字符串的意思是指'obj2'。此外,作爲一個小改進,確保'convertToDate'不會每次都實例化一個新的日期格式化器,因爲這是一個相對昂貴的過程。緩存它。 – Rob

+0

是的,讓我編輯它 – shujatAli

+0

除OP是一本字典。 –

相關問題