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 αυτού του τύπου.