Initialisieren NSArray mit Größe

Wie Initialisiere ich ein NSArray mit der Größe nur so eine for-Schleife verwenden, um füllen Sie es später? Meine for-Schleife wäre

for (int i = 0; i < [myArray count]; i++) {
    myArray[i] = someData;
}
  • So alle Antworten sind zu sagen, dass ich muss ein NSMutableArray im Gegensatz zu einem NSArray. Bedeutet das, dass ich nicht direkt verwenden können ein NSArray für die Lösung dieses Problems?
  • Ein NSArray ist unveränderlich Sinn, dass seine Inhalte nicht bearbeitet werden können in der Zukunft. Dies verhindert auch, dass alle Objekte Hinzugefügt wird, oder aus dem array entfernt, so dass die Länge immer konstant bleiben. Ein NSMutableArray auf der anderen Seite ist veränderlich, dass Objekte können jederzeit Hinzugefügt oder entfernt werden jederzeit, auch nach der Initialisierung.
  • Meine Einschränkung ist, dass ich nicht wollen, dass die Größe zu ändern unbeabsichtigt, aber zur gleichen Zeit, ich will ein Benutzer die Aktualisierung der Werte. Das array ist ein Boolean-array. Ich komme von Java, damit Sie verstehen meine Probleme. Die NSMutableArray bedeutet, dass die Größe wachsen kann. Also, wie kann ich verhindern, dass versehentliche änderung in der Größe, während die Werte änderbar sein?
  • Sie können nicht tun, mit jedem von den built-in Klassen. Sie wickeln konnte NSMutableArray in Ihre eigene Klasse oder Unterklasse, wenn Sie möchten.
  • Wenn Sie nur die Speicherung von BOOLs, könnten Sie ein C-array.
  • Aber es klingt wie Sie ' ll wahrscheinlich wollen eine benutzerdefinierte Klasse mit einer öffentlichen Schnittstelle, die (privat) nutzt ein NSMutableArray die Daten speichern.
  • Wie @AaronBrager sagte, Sie kann nur mit einem C-array statt. Wenn Sie nicht brauchen, eine der Methoden in NSArray dann wäre die beste option sein. Andernfalls verwenden Sie NSMutableArray

Schreibe einen Kommentar