Neues Array von Index Range Swift
Wie kann ich so etwas tun? Nehmen Sie die ersten n Elemente aus einem array:
newNumbers = numbers[0..n]
Derzeit immer die folgende Fehlermeldung:
error: could not find an overload for 'subscript' that accepts the supplied arguments
EDIT:
Hier ist die Funktion, die ich arbeiten in.
func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> {
var newNumbers = numbers[0...position]
return newNumbers
}
InformationsquelleAutor der Frage Charlie Egan | 2014-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese funktioniert bei mir:
Ihre Frage könnte sein, wie Sie sind, deklarieren Sie das array zu beginnen.
EDIT:
Reparieren Ihre Funktion, die Sie haben zu werfen Ihre
Slice
zu einem array:InformationsquelleAutor der Antwort Cezary Wojcik
Swift 4, wenn Sie schreiben:
newNumbers
ist nicht der TypArray<Int>
aber ist der TypArraySlice<Int>
. Das ist, weilArray
'ssubscript(_:)
gibt einArraySlice<Element>
dass, laut Apple, zeigt ein Blick auf die Lagerung von größeren array.Neben, Swift bietet auch eine
init(_:)
Initialisierung fürArray
, die uns erlaubt, erstellen Sie ein neues array aus einemsequence
(einschließlichArraySlice
).Daher können Sie eine der folgenden vier Möglichkeiten, um ein neues array mit den ersten n Elemente eines Arrays.
#1. Mit
Array
Tiefgestellt mit rangeKönnen Sie
Array
Tiefgestellt mitCountableRange
,CountableClosedRange
,PartialRangeUpTo
oderpartialRangeThrough
um eine Folge der ersten Elemente eines Arrays.Verwendung:
#2. Mit
Array
'sprefix(_:)
MethodeSwift bietet eine
prefix(_:)
Methode für die Typen, die konform zuCollection
Protokoll (einschließlichArray
).prefix(_:)
hat die folgende Deklaration:Apple, sagt aber auch:
Verwendung:
#3. Erstellen Sie eine benutzerdefinierte Globale Funktion
Folgende Spielplatz-code-Karte ho, erstellen Sie eine Globale Funktion, die liefert die erste n Elemente eines
Array
:#4. Erstellen einer
Array
Erweiterung benutzerdefinierte MethodeFolgende Spielplatz-code-Karte ho zum erstellen einer
Array
Erweiterung benutzerdefinierte Methode, liefert die erste n Elemente einesArray
:InformationsquelleAutor der Antwort Imanou Petit
InformationsquelleAutor der Antwort Phil