2011-11-26 21 views
5

可能重複:
How to display an array in reverse order in objective C如何反轉NSMutableArray中的數據?

我有一個NSMutableArray和此陣列包含很好在UITableView信息。 但我想在UITableView中首先顯示最新信息。現在最早的信息是UITableView。我的代碼如下:

NSMutableArray *entries = [NSMutableArray array]; 
[self parseFeed:doc.rootElement entries:entries]; 
for (RSSEntry *entry in entries) { 
    [allEntries insertObject:entry atIndex:0]; //insertIdx]; 
    [self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationRight]; 
} 

那麼我怎樣才能扭轉NSMutableArray的信息?

回答

13

如何以相反順序列舉entries的內容?

for (RSSEntry *entry in [entries reverseObjectEnumerator]) { 
    ... 
} 

如果你只是想利用數組,並創建一個顛倒的數組,你可以這樣做:

NSArray *reversedEntries = [[entries reverseObjectEnumerator] allObjects]; 
+1

當然,如果你真的需要一個與原始數組相反的數組,只需在反向枚舉時填充第二個可變數組。 – NJones

+0

thanx朋友它工作正常 – iPhone

7

你可以嘗試這樣的方式:

for (int k = [originalArray count] - 1; k >= 0; k--) { 
    [reverseArray addObject:[originalArray objectAtIndex:k]]; 
} 
+0

唯一的解決方案我發現,適用於nsmutablearray。謝謝! – denikov