-1

我有一个应用程序,我在其中显示两个用户之间的最新对话。

为此,我使用 XML 提要数据。

假设我在一个 XML 中有 25 行,并且 url 如下所示。

www.mywebsite.com/getChat.asmx?startIndex=0

当我单击 loadMore 按钮时,链接如下所示。

www.mywebsite.com/getChat.asmx?startIndex=1

在这我再次得到 25 行。

现在我在显示数据时遇到问题。

当我打开消息时,startIndex=0,我将最新消息放在底部。意味着我正在获取以下格式的数据。

4 hours ago...
3 hours ago...
2 hours ago...
44 mins ago...
etc

现在,当我单击 loadmore 按钮 (startIndex=0) 时,我将 XML 数据附加到我的提要 (NSMutableArray) 中。但是所有新的聊天都降到了底部而不是顶部。

我知道这种情况正在发生,因为我在最后附加了数据。

知道如何在提要的开头附加数据,以便两个用户之间的消息在 tableview 中正确传递吗?


简而言之,我已经拥有 NSMutableArray 中的数据(假设大小为 20)。我想添加一些数据(假设长度为 10)。

因此,随着新数据的添加,新数据将位于位置 0-9,而位于 0-19 的旧数据将转移到 10-29。

知道怎么做吗?

4

2 回答 2

2

首先在 NSMutableArray 中获取数据并使用以下代码反转 Array 的对象:

reversedArray = [[theMutableArray reverseObjectEnumerator] allObjects];
于 2013-10-12T08:28:50.183 回答
0

有一个 NSMutableArray:

 NSMutableArray * myarray = [[NSMutableArray alloc] init];

要在开始时推送数据,您可以:

[myarray insertObject:myData atIndex:0];

编辑:

要为两个数组(在数组的开头插入几个新对象)执行此操作,您可以循环并使用insertObject:atIndex:,也可以使用insertObjects:atIndexes:或者创建一个新数组,甚至不需要可变数组:

NSArray* dataArray;

//When new data is received in newDataArray, you can insert it at the beginning of dataArray
NSArray* newDataArray;
dataArray = [newDataArray arrayByAddingObjectsFromArray:dataArray];
于 2013-10-12T07:12:07.033 回答