Komisches Verhalten eines NSMutableArray

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Komisches Verhalten eines NSMutableArray

    Hallo Entwickler,

    ein NSMutableArray von mir verhält sich irgendwie komisch.
    Es besteht aus NSStrings von Buchstaben A bis Z.

    Quellcode

    1. [myMutableArray removeObject:@"L"];


    Damit wird nicht nur der Buchstabe L entfernt, sondern der Buchstabe A wird auch verdoppelt (A, A, B, C, ...).
    Deshalb führe ich folgenden Befehl aus:

    Quellcode

    1. [myMutableArray removeObjectAtIndex:0];


    Damit wird auch nicht das erste A entfernt, sondern das Array erhält an 2. Stelle ([1]) einen leeren Pointer. (A, 0x00000000, C, D, ...)
    Das Array scheint irgendwie an seiner Größe von 26 festzuhalten.

    Was läuft da falsch?
  • Zur Information: ich benutze ARC.

    In ViewDidLoad wird das MutableArray vom iPhone Speicher geladen.
    An der Stelle ist es auch fähig Objekte zu entfernen.

    In der Methode tableView:sectionForSectionIndexTitle:atIndex: wird es als Data Source verwendet.
    Verändern möchte ich es nach dem Betätigen eines Buttons in einem UIActionSheet in folgendem Zusammenhang:

    Quellcode

    1. [self.tableView beginUpdates];
    2. for (...)
    3. {
    4. // Veränderung meines Arrays
    5. }
    6. [self.tableView endUpdates];


    Kann es daran liegen, dass es in einer Schleife ist (es wird nicht im Schleifenkopf verwendet) oder dass es beim TableView Update ist?
  • Dir ist aber schon klar, dass wenn du mit einer For Schleife dadurch gehst und während dessen EInträge entfernst, deine ganze For Schleife für den Hintern ist, weil die Indizes nicht mehr passen oder?

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)