2011-01-19 24 views
0

我想對這樣的數組進行排序。使用特殊模式排序NSMutableArray?

假設我有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)

現在我希望他們進行排序像這在他們的每個設備像clo ckwise。

用戶1個設備(用戶ID的1,2,3,4)

用戶2設備(用戶ID的2,3,4,1)

用戶3設備(用戶ID的3,4, 1,2)

用戶4設備(用戶ID 4,1,2,3)

是否有人知道任何的算法來實現這一目標?

回答

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]; 
} 
+0

@cwieland您的示例中存在一些程序錯誤,我已更正。但總體想法看起來是正確的。 :) – 2011-01-19 18:19:26

0

您可以根據您喜歡的任何標準對NSArray進行排序。例如,參見-sortUsingComparator:-sortUsingFunction:

+0

我想要上面的模式。無法創建比較器/ sortUsingFunction你可以請這樣做嗎? – 2011-01-19 15:42:20