我正在为Array编写mutaitin函数。我无法比较下面的数组组件:
extension Array {
mutating func mutFunc() {
while self[1]>self[2]{
}
}
}
Array必须是Int类型数组。我甚至不能用这种方式进行比较。
while Int(self[1])>Int(self[2]){
}
我的代码有什么问题?
答案 0 :(得分:4)
您无法在Swift 1.2或之前执行此操作。这正是Swift 2.0中扩展where
子句解决的问题。这样,你可以只扩展数组,只要它的元素类型采用Comparable(甚至是Int),从而保证定义>
。
extension Array where Element : Comparable {
// ... your function involving > goes here
}