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")
}
}
}
的最新數據時,它提供錯誤獲取與陣列擴展
使用它的陣列上「無法將類型的值‘()’,以指定類型‘[雙]’」
例如:
var data: [Int] = [1, 2, 3, 4, ..... all the way to 1000]
data.fiveHundred() // Gives error
編輯:看到它有< 250.對不起!我在另一個有250多個條目的數據數組上使用它。
假設這個數據數組有250多個數據。
EDIT2:下面是實際的代碼
struct Data {
let array: [Double] = [1.0, 2.0, 3.0, 4.0]
}
printData(Data.array.fiveHundred) // The function printData(val: [Double])
EDIT3:我的道歉。這些例子和問題非常混亂。
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")
}
}
}
這解決了我的一部分問題。另一個問題是我只需要最多250個數據。目前它的1000.
我想使用data.fiveHundred()獲得只有250數據。
EDIT4: 我終於解決了它。我感謝所有的幫助。
擴展Array中元素:Equatable {
mutating func fiveHundred() -> [Element] {
var tempArr: [Element] = []
for i in (count-1500)..<count {
tempArr.append(self[i])
}
return tempArr
}
}
給我正確的數組。抱歉讓人困惑。因爲你的陣列是out of index
與arrCopy[3]
錯誤開始250
後,下一次,我必須與我的問題和說明有關問題的
@Hamish使用期望一個函數[雙]我有一個我使用fiveHundred()的雙數組。 – bCM
@Hamish我應該修改fiveHundred返回[雙]?事情是我有不同類型的數組,如[Int]或[String] ... – bCM
您應該使用var。檢查我的回答 –