Sobes.tech
Junior — Middle

Може ли да се извършва сравнение на обекти от тип Optional в кода?

sobes.tech AI

Отговор от AI

В Swift, обекти от тип Optional могат да се сравняват помежду си, ако типът, който съдържат, поддържа сравнение. Например, ако имате Optional<Int>, можете да използвате операторите == и != за сравнение.

Сравнението работи по следния начин:

  • Ако и двете стойности са nil, те се считат за равни.
  • Ако едната е nil, а другата не, те не са равни.
  • Ако нито една не е nil, сравняват се вътрешните стойности.

Пример:

let a: Int? = 5
let b: Int? = 5
let c: Int? = nil

print(a == b) // true
print(a == c) // false
print(c == nil) // true

Ако типът не поддържа сравнение, не е възможно директно сравняване на Optional от този тип.