Ich habe, was ich denke, ist ein seltsamer Fehler, aber natürlich bin ich relativ neu in iPhone Development, so ist es möglich, dass es nicht so komisch ist.NSMutableArray Entfernen des Objekts, aber dann stürzt app
Ich habe ein Array (NSMutableArray) von Objekten, die ich verfolgen (eins wird jedes Mal hinzugefügt, wenn der Benutzer eine Schaltfläche berührt), was ich versuche zu tun ist, wenn das Array einen bestimmten Wert I erreicht Fügen Sie das neue Objekt am Anfang des Arrays hinzu und entfernen Sie dann das letzte Objekt im Array. Wenn ich meinen Code durchgehe, funktioniert alles, das Objekt wird entfernt, aber dann stürzt die App einfach ab ... der Debugger befindet sich nicht in irgendeiner Codezeile, wenn die App abstürzt und es keine Loops oder Timer in der App gibt. Ich denke an alles andere, was gerade läuft.
hier ist der Code,
if([objectArray count] > 10)
{
MyObject *objectToRemove = [[MyObject alloc] init];
objectToRemove = [objectArray objectAtIndex:10];
[objectArray removeObjectAtIndex:10];
[objectToRemove removeFromSuperview];
}
der wichtigste Punkt dieses Codes direkt vor dem Absturz ausgeführt wird, ist, dass jedes Mal wenn der Benutzer eine Taste berührt ein Objekt auf dem Bildschirm hinzugefügt und angezeigt wird, und dann, wenn die Anzahl der Objekte erreicht 10 und der Benutzer berührt die Schaltfläche erneut. Das erste Objekt, das hinzugefügt wurde, wird entfernt und das neue Objekt wird angezeigt. Wenn ich die removeObjectAtIndex-Zeile auskommentiere, funktioniert alles wie gewünscht, aber das Array wächst weiter.
Ich habe auch versucht, das Objekt zu entfernen, nachdem die UIview entfernt wurde und die App auf die gleiche Weise verhält. Wenn ich versuche, ein Objekt aus dem Array in einem anderen Index (I.E 3) zu entfernen, stürzt die App nicht ab, aber es gibt mir nicht mein erwartetes Ergebnis. Aber wie gesagt, der Code läuft gut und wenn ich die Anzahl der Arrays vor und nach der Ausführung der Zeile überprüfe, lautet der Wert 11 bzw. 10.
Jede Hilfe Sie erkannt werden, liefern würde,
BWC