2010-10-21 53 views
0

我有一個字符串格式的字典可編輯的plist:從PLIST(字典),以泰伯維

21-10-2010 -> @"item1" 
20-10-2010 -> @"item2" 
19-10-2010 -> @"item3" 
18-10-2010 -> @"item4" 
17-10-2010 -> @"item5" 
ect... 
用的StringFormat日期鑰匙,並與不同信息的字串值

左右。字典的長度可以達到200個鍵。鑰匙不一定按順序排列,並且可能會丟失一些日期。

我想用UITableViewCellStyleValue2在tableview中顯示鍵和它們的值。目前,我把他們在tableview中通過在啓動時寫入所有鑰匙,一個全球性的NSMutableAray:

keysArray = [myDictionary allKeys]; 

,然後在實現代碼如下方法,我把它們用正常indexPath作爲指數陣列:

cell.textLabel.text = [keysArray objectAtIndex:indexPath]; 
cell.detailTextLabel.text = [myDictionary objectForKey: [keysArray objectAtIndex:indexPath]]; 

這是行得通的,但日期不是按順序排在最高的日期。這是因爲'allKeys'函數以隨機順序返回鍵(也沒有在字典中它自己的順序)。

循環訪問全局數組,並將此值作爲另一個字典的關鍵字(從extern pList文件加載)的整個方法非常複雜和尷尬。所以我正在尋找一種按日期排序NSMutableArray的方法,或者更好的方法來實現我想要的。

謝謝你傾聽,約翰。

回答

0

您可以創建按日期排序的數組。您將索引此數組indexPath.row以詢問項目值。

要排序的數組,你可以使用:

-sortedArrayUsingComparator: 

[array sortedArrayUsingComparator:^(id obj1, id obj2) { 
    // Your comparaison 
}]; 

看到這個guide for block usage

+0

這個回答讓我在正確的方向。讀完後我最終用標準比較器做了這件事。 – 2010-10-25 07:50:58