Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика XCode

Разработчик

Справочное руководство по библиотеке стандарта Swift

PDF

Сопоставимый

Equatable протокол позволяет определить, считаются ли два значения того же типа равным использованием == и != операторы.

Библиотека стандарта Swift обеспечивает реализацию для != оператор. В результате типы, соответствующие Equatable протокол требуется, чтобы реализовывать == оператор только.

Определение равенства

==

Определяет равенство двух значений того же типа.

Объявление

  • func ==(lhs: Self, rhs: Self) -> Bool

Обсуждение

Для приспосабливания протоколу необходимо обеспечить реализацию для == в глобальной области видимости. Необходимо возвратиться true если предоставленные значения равны, иначе false.

Вам решать для определения то, что равенство означает для двух значений соответствующего типа:

  • struct MyStruct: Equatable {
  • var name = "Untitled"
  • }
  • func ==(lhs: MyStruct, rhs: MyStruct) -> Bool {
  • return lhs.name == rhs.name
  • }
  • let value1 = MyStruct()
  • var value2 = MyStruct()
  • let firstCheck = value1 == value2
  • // firstCheck is true
  • value2.name = "A New Name"
  • let secondCheck = value1 == value2
  • // secondCheck is false