【发布时间】:2019-12-19 00:19:52
【问题描述】:
let x = [1, 2, 2, 3, 3, 3, 1].reversed()
for element in x.method_name() {
print(element)
}
返回
“ReversedCollection”类型的值没有成员“method_name”。
为什么?如何引用我创建的方法并让它执行我需要它执行的功能?
但是,如果我使用以下内容,问题似乎消失了。我只想传入一个数组并让函数完成所有工作,即:
let x = Array([1, 2, 2, 3, 3, 3, 1].reversed())
【问题讨论】:
-
在哪里你创建了
method_name方法? -
所以,我已经单独创建了方法名称作为数组的扩展
-
extension Array where Element:Equatable { func method_name() -> [Element] { total.append(element) } } } -
这种方法没有多大意义。
total是什么?element是什么?它的签名说它返回一个数组,但它没有。请注意,您可以edit您的问题。 -
是的,它的签名说它返回一个数组,但是当我在它上面使用 .reversed() 时,它似乎将数组转换为一个反向集合。