我想对这样的数组进行排序。
假设我有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)
有人知道任何算法来实现这个目标吗?
答案 0 :(得分:1)
您可以删除阵列的第一项,然后将其添加到最后并继续,直到用户看到他们的用户名/ 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];
}
答案 1 :(得分:0)
您可以根据自己喜欢的任何标准对NSArray进行排序。例如,请参阅-sortUsingComparator:
或-sortUsingFunction:
。