Comparable(比較可能)


Comparable プロトコルにより、<>、<=、 そして >= の関係演算子をを使用して、同じ型の値を比較することができます。


Swift 標準ライブラリは、>、<=、>=、 および != 演算子の実装を提供します。その結果、 Comparable プロトコルに準拠する型は、<== 演算子だけを実装する必要があります。(== 演算子は Equatable プロトコルから Comparable を継承するための要件です。)


値を比較する


<


宣言


func <(lhs: Self, rhs: Self) -> Bool



議論


プロトコルに準拠するためには、グローバルな範囲での < の実装を提供する必要があります。lhs の値が rhs の値未満である場合は true、そうでない場合は false を返す必要があります。


「未満である」が準拠する型の2つの値に対して何を意味するかを判断するのはあなた次第です。


  1. struct MyStruct: Comparable {
  2.         var name = "Untitled"
  3. }
  4. func <(lhs: MyStruct, rhs: MyStruct) -> Bool {
  5.         return lhs.name < rhs.name
  6. }
  7. // Implementation of == required by Equatable
  8. func ==(lhs: MyStruct, rhs: MyStruct) -> Bool {
  9.         return lhs.name == rhs.name
  10. }
  11. let value1 = MyStruct()
  12. var value2 = MyStruct()
  13. let firstCheck = value1 < value2
  14. // firstCheck is false
  15. value2.name = "A New Name"
  16. let secondCheck = value2 < value1
  17. // secondCheck is true





前:Equatable(同等視)


次:Printable(印刷可能)




目次
Xcode 10 の新機能

インターフェースビルダー ヘルプ
ストーリーボード

NSObject(class)

  • 第一部:型
  • String
  • 文字列の作成
  • init()
  • 宣言
    議論
  • init(count:repeatedValue:)
  • 宣言
    議論
  • 文字列を照会
  • isEmpty
  • 宣言
    議論
  • hasPrefix(_:)
  • 宣言
    議論
  • hasSuffix(_:)
  • 宣言
    議論
  • 文字列の変換
  • toInt()
  • 宣言
    議論
  • 演算子
  • +
  • 宣言
    議論
  • +=
  • 宣言
    議論
  • ==
  • 宣言
    議論
  • <
  • 宣言
    議論
  • Array<T>
  • 配列の作成
  • init()
  • 宣言
    議論
  • init(count:repeatedValue:)
  • 宣言
    議論
  • 配列要素へのアクセス
  • subscript(_: Range<Int>)
  • 宣言
    議論
  • 要素の追加と削除
  • append(_:)
  • 宣言
    議論
  • insert(_:atIndex:)
  • 宣言
    議論
  • removeAtIndex(_:)
  • 宣言
    議論
  • removeLast()
  • 宣言
    議論
  • removeAll(keepCapacity:)
  • 宣言
    議論
  • reserveCapacity(_:)
  • 宣言
    議論
  • 配列を照会
  • count
  • 宣言
    議論
  • isEmpty
  • 宣言
    議論
  • capacity
  • 宣言
    議論
  • アルゴリズム
  • sort(_:)
  • 宣言
    議論
  • sorted(_:)
  • 宣言
    議論
  • reverse()
  • 宣言
    議論
  • filter(_:)
  • 宣言
    議論
  • map(_:)
  • 宣言
    議論
  • reduce(_:combine:)
  • 宣言
    議論
  • 演算子
  • +=
  • 宣言
    議論
  • Dictionary<Key: Hashable, Value>
  • 辞書の作成
  • init()
  • 宣言
    議論
  • init(minimumCapacity:)
  • 宣言
    議論
  • 辞書の要素にアクセスし変更する
  • subscript(key: Key)
  • 宣言
    議論
  • updateValue(_:forKey:)
  • 宣言
    議論
  • removeValueForKey(_:)
  • 宣言
    議論
  • removeAll(keepCapacity:)
  • 宣言
    議論
  • 辞書を照会する
  • count
  • 宣言
    議論
  • keys
  • 宣言
    議論
  • values
  • 宣言
    議論
  • 演算子
  • ==
  • 宣言
    議論
  • !=
  • 宣言
    議論
  • 数値型
  • 整数型
    浮動小数点型
    ブール型
  • 第2部:プロトコル
  • Equatable(同等視)
  • 等しい事を決定
  • ==
  • 宣言
    議論
  • Comparable(比較可能)
  • 値を比較する
  • <
  • 宣言
    議論
  • Printable(印刷可能)
  • 値の記述
  • description
  • 宣言
    議論
  • 第3部:自由関数
  • 印刷
  • 主要関数
  • print(_:)
  • 宣言
    議論
  • println(_:)
  • 宣言
    議論
  • print()
  • 宣言
    議論
  • アルゴリズム
  • 並べ替え
  • sort(_:)
  • 宣言
    議論
  • sort(_:_:)
  • 宣言
    議論
  • sorted(_:)
  • 宣言
    議論
  • sorted(_:_:)
  • 宣言
    議論
  • 検索
  • find(_:_:)
  • 宣言
    議論
    マニュアル変更履歴