For-Schleife basierend auf der array-Länge in Swift
Ich habe versucht, die Länge eines array und verwenden, die Länge um die Anzahl der Male, dass meine Schleife ausgeführt werden soll. Das ist mein code:
if notes.count != names.count {
notes.removeAllObjects()
var nameArrayLength = names.count
for index in nameArrayLength {
notes.insertObject("", atIndex: (index-1))
}
}
Im moment bekomme ich nur die Fehlermeldung:
Int does not have a member named 'Generator'
Scheint wie eine ziemlich einfache Frage, aber ich habe noch nicht herausgefunden, eine Lösung. Irgendwelche Ideen?
Sie versuchen, ein Objekt einfügen in eine leere NSMutableArray, in diesem Fall sollten Sie verwenden .addObject
Falls index bereits belegt ist, werden die Objekte unter index und darüber hinaus verschoben werden, durch hinzufügen von 1 auf Ihre Indizes, um Platz zu machen.
Beachten Sie, dass NSArray Objekte sind nicht wie C-arrays. Das ist, auch wenn Sie eine Größe angeben, wenn Sie ein array erstellen, die angegebene Größe gilt als "Hinweis"; die tatsächliche Größe des Arrays ist immer noch 0. Dies bedeutet, dass Sie nicht ein Objekt einfügen bei einem index größer als die aktuelle Anzahl der ein array. Zum Beispiel, wenn ein array enthält zwei Objekte, Ihre Größe ist 2, also Sie können Objekte hinzufügen, auf die Indizes 0, 1, oder 2 ist. Index 3 ist illegal und außerhalb der Grenzen, wenn Sie versuchen, hinzufügen, ein Objekt mit index 3 (wenn die array-Größe ist 2), NSMutableArray wirft eine exception.
Falls index bereits belegt ist, werden die Objekte unter index und darüber hinaus verschoben werden, durch hinzufügen von 1 auf Ihre Indizes, um Platz zu machen.
Beachten Sie, dass NSArray Objekte sind nicht wie C-arrays. Das ist, auch wenn Sie eine Größe angeben, wenn Sie ein array erstellen, die angegebene Größe gilt als "Hinweis"; die tatsächliche Größe des Arrays ist immer noch 0. Dies bedeutet, dass Sie nicht ein Objekt einfügen bei einem index größer als die aktuelle Anzahl der ein array. Zum Beispiel, wenn ein array enthält zwei Objekte, Ihre Größe ist 2, also Sie können Objekte hinzufügen, auf die Indizes 0, 1, oder 2 ist. Index 3 ist illegal und außerhalb der Grenzen, wenn Sie versuchen, hinzufügen, ein Objekt mit index 3 (wenn die array-Größe ist 2), NSMutableArray wirft eine exception.
InformationsquelleAutor user3746428 | 2014-11-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie den Bereich festlegen. Wenn Sie möchten, gehören
nameArrayLength
:Wenn du aufhören willst zu 1 vor
nameArrayLength
:Diese sollten sein: bei index 0..., nicht für index 1...
Ich fing an
1
so, dass die OP ' snotes.insertObject("", atIndex: (index-1))
würde nicht Abstürzen.InformationsquelleAutor vacawama
InformationsquelleAutor Ketan Patel
In Swift 3 Swift 4 können Sie tun:
Ich bin auch aus der C-ära. Toll, dass Sie wieder wie ein Programmierer!
Ah, gerade dabei einige Swift selbst-training. Der Anfang war grauenhaft! 😀 Besonders bei jenen, die verdammt Flucht Verschlüsse..
InformationsquelleAutor meaning-matters
Können Sie mit einer Schleife über das Array
indices
Wenn Sie nur wollen, um zu füllen ein array mit leeren Zeichenfolgen, die Sie tun könnten
InformationsquelleAutor Paul.s