0
我建立了一个自定义类,它包含一个“内部”数组并提供一些有用的方法。如何在swift中对类型数组进行排序?
class ArrayList<T> {
private var array : Array<T>
public init() {
array = Array<T>()
}
public func add(element : T) {
array.append(element)
}
public func size() -> Int {
return array.count
}
...
}
好吧,这对我来说工作到目前为止。
但现在我也想有一个方法来排序数组。我已经是这样的:
public func sort(comparator : ?) {
array = array.sort(comparator)
}
问号代表参数类型,这是我的问题:哪种必须的参数有哪些?我读了一些关于@noescape < ,>但我无法让它工作!
我正在使用Swift 2.2。
为什么你将T限制为Comparable,你不能仅仅因为它们不能排序而拒绝不可比较的元素编着'<' and'>'? 如果有任何问题,您可以添加一个扩展,该扩展仅适用于T可比的提供默认排序功能的扩展。 – overactor
我知道我只是想简单回答这个问题,并避免* Binary Operator <不能应用于... *错误消息。 – vadian
这将工作正常,没有限制,只要T是可比的。如果不是,你不应该期望能够用'<'比较它,你仍然可以通过其他方式进行比较。 – overactor