Sobes.tech
Junior — Middle

Είναι δυνατόν να δηλώσετε μια μεταβλητή με τον τροποποιητή Weak που να είναι σταθερή και αμετάβλητη στο πρόγραμμα;

sobes.tech AI

Απάντηση από AI

Στο Swift, μια μεταβλητή με τον τροποποιητή weak πρέπει να δηλώνεται ως var, όχι ως let. Αυτό οφείλεται στο γεγονός ότι η αδύναμη αναφορά (weak) γίνεται αυτόματα nil όταν το αντικείμενο στο οποίο αναφέρεται απελευθερώνεται. Αν το weak δηλωνόταν ως let (σταθερά), δεν θα ήταν δυνατή η αλλαγή της τιμής του μετά την ανάθεση σε nil, κάτι που αντιβαίνει στην ίδια την ιδέα της αδύναμης αναφοράς.