如何反转NSMutableArray中的数据?

5

可能是重复问题:
如何在Objective C中以相反的顺序显示数组

我有一个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中的信息?

2个回答

13

反向枚举entries的内容如何?

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

如果你只是想将一个数组反转并创建一个新的反向数组,可以这样做:

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

1
当然,如果您真的需要将数组从原始状态反转,只需在反向枚举时填充第二个可变数组即可。 - NJones

7
你可以尝试以下方法:

你可以像这样尝试:

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

我发现的唯一适用于 NSMutableArray 的解决方案。谢谢! - denikov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接