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 使用特殊模式对NSMutableArray排序?_Objective C_Programming Languages_Ios4 - Fatal编程技术网

Objective c 使用特殊模式对NSMutableArray排序?

Objective c 使用特殊模式对NSMutableArray排序?,objective-c,programming-languages,ios4,Objective C,Programming Languages,Ios4,我想对数组进行如下排序 假设我有4个用户,他们像这样登录到他们的设备 用户1设备(用户id为1,2,3,4) 用户2设备(用户id为1,2,3,4) 用户3设备(用户id为1,2,3,4) 用户4设备(用户id为1,2,3,4) 现在,我希望它们在每个设备中按顺时针方向排序 用户1设备(用户id为1,2,3,4) 用户2设备(用户id的2,3,4,1) 用户3设备(用户id为3,4,1,2) 用户4设备(用户id的4,1,2,3) 有人知道实现这一点的算法吗?您可以根据自己喜欢的任何标准对NSA

我想对数组进行如下排序

假设我有4个用户,他们像这样登录到他们的设备

用户1设备(用户id为1,2,3,4)

用户2设备(用户id为1,2,3,4)

用户3设备(用户id为1,2,3,4)

用户4设备(用户id为1,2,3,4)

现在,我希望它们在每个设备中按顺时针方向排序

用户1设备(用户id为1,2,3,4)

用户2设备(用户id的2,3,4,1)

用户3设备(用户id为3,4,1,2)

用户4设备(用户id的4,1,2,3)


有人知道实现这一点的算法吗?

您可以根据自己喜欢的任何标准对NSArray进行排序。例如,请参见
-sortUsingComparator:
-sortUsingFunction:

您可以删除数组的第一项,然后将其添加到末尾,并继续操作,直到用户看到其用户名/id为止。这可能会起作用,因为在删除第一项时,它们都会下移到第一个位置

while([[array objectAtIndex:0] id] != [user id])
{
    id temp = [[array objectAtIndex:0] retain];
    [array removeObjectAtIndex:0]; //may cause a deallocation of "temp" if it weren't retained
    [array addObject:temp];
    [temp release];
}

我想要上面的图案。无法创建comparator/sortUsingFunction请执行此操作好吗?@cwieland您的示例中存在一些编程错误,我已更正了这些错误。不过,总体思路似乎是正确的。:)是的,我想我应该说是sudo密码。谢谢你让它可用。道具@cwieland,@Dace DeLong谢谢你们。让我看看它是否有效。非常感谢当我在数组中没有与我的Id对应的对象时。顺便说一句,我解决了这个问题。谢谢你们。@cwieland我将在周一发布我的代码。顺便说一句,首先我在用户数组中检查if(myIdExists){然后运行while循环},否则不运行while循环。