extension Array {
mutating func fiveHundred() {
var arrCopy = self
arrCopy = arrCopy.reverse()
if arrCopy.count > 0 {
for i in 1..<250 {
print(arrCopy[i])
self.append(arrCopy[i])
}
} else {
print("Array is empty")
}
}
}
Wenn es auf einem Array mit gibt es dem FehlerHolen Sie sich die neuesten Daten mit Array-Erweiterung
„Wert vom Typ‚()‘in dem angegebenen Typ‚[Double]‘Kann nicht konvertieren“
zum Beispiel:
var data: [Int] = [1, 2, 3, 4, ..... all the way to 1000]
data.fiveHundred() // Gives error
EDIT: Sah, dass es < 250. Sorry! Ich benutzte dies auf einem anderen Datenfeld mit mehr als 250 Einträgen.
Angenommen, dieses Datenarray hat mehr als 250 Daten.
EDIT2: Hier ist der eigentliche Code
struct Data {
let array: [Double] = [1.0, 2.0, 3.0, 4.0]
}
printData(Data.array.fiveHundred) // The function printData(val: [Double])
EDIT3: entschuldigen Mein. Die Beispiele und die Frage sind sehr verwirrend.
extension Array where Element: Equatable {
mutating func fiveHundred() -> [Element] {
var arrCopy = self
arrCopy = arrCopy.reverse()
if arrCopy.count > 0 {
for i in 1..<250 {
print(arrCopy[i])
self.append(arrCopy[i])
}
} else {
print("Array is empty")
}
}
}
Dies löste meinen Teil meines Problems. Das andere Problem ist, dass ich nur maximal 250 Daten benötige. Derzeit seine 1000.
Ich möchte data.fiveHerdred() verwenden, um nur 250 Daten zu erhalten.
EDIT4: Ich habe es endlich gelöst. Ich schätze all die Hilfe.
Erweiterung Array wo Element: {gleichzusetzen
mutating func fiveHundred() -> [Element] {
var tempArr: [Element] = []
for i in (count-1500)..<count {
tempArr.append(self[i])
}
return tempArr
}
}
gibt mir die richtige Array. Entschuldigung für das verwirrende. Das nächste Mal, ich habe mehr klar zu sein mit meiner Frage und Beschreibung über das Problem
@Hamish eine Funktion verwenden, die [Double] erwartet, und ich habe ein double array, auf dem ich fiveHundred() verwende. – bCM
@Hamish sollte ich fiveHundred ändern, um [Double] zurückzugeben? Die Sache ist, ich habe verschiedene Arrays mit unterschiedlichen Typen wie [Int] oder [String] ... – bCM
Sie sollten Var verwenden. Überprüfen Sie meine Antwort –