Ich dachte, ich es mit,Kann ich die Objekte in einem NSMutableArray verschieben, ohne ein temporäres Array zu erstellen?
hattevoid shiftArray(NSMutableArray *mutableArray, NSUInteger shift)
{
for (NSUInteger i = 0; i < [mutableArray count]; i++) {
NSUInteger newIndex = (i + shift) % [mutableArray count];
[mutableArray exchangeObjectAtIndex:i withObjectAtIndex:newIndex];
}
}
die 0,1,2,3,4 in 0,2,3,4,1 dreht, wenn ich von einem verschieben.
Das erwartete Ergebnis ist 4,0,1,2,3
Ich fühle mich wie ich offensichtlich etwas fehlt bin ...
Update: Dank Matthieu, das, was meine Funktion aussieht, ist wie jetzt.
Ich wusste nicht, dass Sie ein generisches NSObject erstellen und eine Unterklasse darin einfügen könnten. Es ist alles nur ein Hinweis, also denke ich, es ist in Ordnung, oder?
Es ist schwer, die Gewohnheit des Denkens dieser Objekte als Taschen Sachen anstatt Zeiger, um die Tasche zu brechen.
Was ist das erwartete Ergebnis, wenn Sie um eins schalten? 4,0,1,2,3? – mrueg