0
"internal"配列を保持し、いくつかの便利なメソッドを提供するカスタムクラスを構築しました。入力された配列を迅速にソートする方法は?
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を使用しています。
このコードを使用することができます使用することは、標準の閉鎖
あると
Comparable
プロトコルにジェネリック型を制約TをComparableに制限すると、比較できない要素はソートできないという理由だけで「<' and'>」で編集しましたか? もしあれば、デフォルトのソート関数を提供するTが匹敵する場合にのみ適用される拡張を追加することができます。 – overactor
私はちょうど質問に非常に簡単に答えて、*バイナリ演算子<...には適用できません。 – vadian
これは、TがComparableである限り、制限なしで正常に動作します。そして、そうでなければ、 '<'を使ってそれを比較できるとは思ってはいけません。あなたはそれを他の方法と比較することができます。 – overactor