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。检查我的回答 –