Der endIndex gibt die gleichen Werte wie count zurück. Ist es ein korrektes Verhalten oder ein Fehler?Was ist das korrekte Verhalten von endIndex Array in Swift?
var ar = [1, 2, 3, 4]
ar.count // 4
ar.endIndex // 4
Der endIndex gibt die gleichen Werte wie count zurück. Ist es ein korrektes Verhalten oder ein Fehler?Was ist das korrekte Verhalten von endIndex Array in Swift?
var ar = [1, 2, 3, 4]
ar.count // 4
ar.endIndex // 4
Array.endIndex
soll die 1 über das Ende des Arrays (oder gleich count) für die Iteration Zwecke sein, nicht Indizierung.
let x = [1, 2, 3, 4]
for var i = x.startIndex; i < x.endIndex; i++ {
println(x[i])
}
count
ist die Anzahl der Elemente in der Sammlung, wobei die endIndex
Index
(from the Indexable
protocol) ist, die gerade über das Ende der Sammlung ist.
Für Array
sind diese identisch. Für einige andere Sammlungen, wie ArraySlice
, sind sie nicht:
let array = ["a", "b", "c", "d", "e"]
array.startIndex // 0
array.count // 5
array.endIndex // 5
let slice = array[1..<4] // elements are "b", "c", "d"
slice.startIndex // 1
slice.count // 3
slice.endIndex // 4
Was ist der Zweck der mit 'endIndex' auf diese Weise? Welche zusätzliche Funktionalität gibt es, weil es ein wenig kontraintuitiv erscheint? – Honey