Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在UITableView中对行重新排序_Objective C_Uitableview - Fatal编程技术网

Objective c 在UITableView中对行重新排序

Objective c 在UITableView中对行重新排序,objective-c,uitableview,Objective C,Uitableview,这个问题困扰了我很长时间,我需要帮助。下面是我的代码的作用。我有一个包含数据的NSMutableArray。第一行显示数组的所有元素。然后删除旧数据并将新数据添加到数组中。然后我在第二行显示它,以此类推 我想知道的是,如何显示我的数据,当我显示第二行的数据时,我希望第一行向下移动一行,第二行显示在第一行,依此类推。例如: 第一次呼叫: 第1行 第二次电话: efgh第1行 abcd第2行 第三个电话: ijkl第1行 efgh第2排 第3行 等等 请注意,a是数组的第一个元素,b是第二个元素,c

这个问题困扰了我很长时间,我需要帮助。下面是我的代码的作用。我有一个包含数据的NSMutableArray。第一行显示数组的所有元素。然后删除旧数据并将新数据添加到数组中。然后我在第二行显示它,以此类推

我想知道的是,如何显示我的数据,当我显示第二行的数据时,我希望第一行向下移动一行,第二行显示在第一行,依此类推。例如:

第一次呼叫:

第1行

第二次电话:

efgh第1行 abcd第2行

第三个电话:

ijkl第1行

efgh第2排

第3行

等等

请注意,a是数组的第一个元素,b是第二个元素,c是第三个元素,依此类推。它不是一个字符串。我这样做有几个原因


任何帮助都将不胜感激

在cellForRowAtIndexPath代码中,如下所示

int index=[mutArray count]-indexath.row-1


[mutArray objectAtIndex:index]

您的数组应该包含-比方说

{ijkl,efgh,abcd}

然后在表视图中为任何行委派

int totalCount = [array count];
int startIndex = totalCount - (rowIndex+1); //rowIndex -- row index delegate is called

for(i = startIndex; i<totalCount ; i++)
{
//objectAtIndex
//display the objects from  startIndex to totalCount in the cell
}
输出: 第1行: rowIndex==0 totalCount=3 startIndex=2->abcd

第2行: rowIndex==1 totalCount=3 startIndex=1->efgh abcd

第3行:
rowIndex==2 totalCount=3 startIndex=0->ijkl efgh abcd

一个小说明,我的数组的内容仅在运行时确定。数组的每个元素都是一个标签。因此,第一行将是: 标签1,标签2,标签3。。。 然后删除数组内容并添加新标签。那么现在,, 第0行:标签4、标签5、标签6
第1行:标签1、标签2、标签3

谢谢您的回复!我不确定这将如何工作,因为根据您的建议,这将在不同的行上显示每个元素,这是我不想要的。我只希望能够移动行,以便第二次调用cellForRowAtIndexPath函数时在第一行显示当前数据,在第二行显示第一行中的数据。Ok。我认为它会起作用。您只需检查并告知您是否有任何问题,但是您的代码应该做什么?做一个试运行,假设数组元素是a,b,c,d和indexath.row是0,我将得到d作为[mutArray objectAtIndex:index]的结果。哦,你想做如下操作,如果a,b,c,d,那么1,2,3,4意味着在第二次运行中,它应该是1,2,3,4,a,b,c,d?如果是这样,你应该改变向数组添加数据的逻辑。也发布代码,这样我就可以检查并告诉你的问题