Junior — Middle
Είναι υποχρεωτικό να καλύπτονται όλες οι πιθανές τιμές enum σε μια δήλωση switch στο Swift;
sobes.tech AI
Απάντηση από AI
Στη Swift, αν χρησιμοποιείτε τον τελεστή switch για μια τιμή τύπου enum χωρίς συσχετισμένες τιμές, ο μεταγλωττιστής απαιτεί να καλύπτονται όλες οι πιθανές περιπτώσεις του enum ώστε το switch να είναι εξαντλητικό. Αυτό σημαίνει ότι πρέπει είτε να απαριθμήσετε όλες τις επιλογές του enum είτε να προσθέσετε ένα μπλοκ default.
Αν δεν καλύπτετε όλες τις επιλογές και δεν προσθέτετε default, ο κώδικας δεν θα μεταγλωττιστεί.
Παράδειγμα:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Πηγαίνουμε βόρεια")
case .south:
print("Πηγαίνουμε νότια")
case .east:
print("Πηγαίνουμε ανατολικά")
case .west:
print("Πηγαίνουμε δυτικά")
}
}
Αν δεν θέλετε να απαριθμήσετε όλες τις επιλογές, μπορείτε να προσθέσετε ένα default:
switch dir {
case .north:
print("Πηγαίνουμε βόρεια")
default:
print("Άλλη κατεύθυνση")
}