Σε αυτό το άρθρο, θα μάθετε για τις τυπολογίες και τις περιπτώσεις χρήσης του στο Swift.
Ένα ψευδώνυμο τύπου σας επιτρέπει να δώσετε ένα νέο όνομα για έναν υπάρχοντα τύπο δεδομένων στο πρόγραμμά σας. Αφού δηλωθεί ένα ψευδώνυμο τύπου, το ψευδώνυμο όνομα μπορεί να χρησιμοποιηθεί αντί για τον υπάρχοντα τύπο σε όλο το πρόγραμμα.
Το ψευδώνυμο τύπου δεν δημιουργεί νέους τύπους. Απλώς παρέχουν ένα νέο όνομα σε έναν υπάρχοντα τύπο.
Ο κύριος σκοπός typealias
είναι να κάνουμε τον κώδικα μας πιο ευανάγνωστο και σαφέστερο στο πλαίσιο της ανθρώπινης κατανόησης
Πώς να δημιουργήσετε μια τυπολογία;
Δηλώνεται χρησιμοποιώντας τη λέξη-κλειδί typealias
ως:
typealias name = υπάρχων τύπος
Στο Swift, μπορείτε να το χρησιμοποιήσετε typealias
για τους περισσότερους τύπους. Μπορούν να είναι είτε:
- Ενσωματωμένοι τύποι (for.eg: String, Int)
- Τύποι που καθορίζονται από τον χρήστη (for.eg: class, struct, enum)
- Πολύπλοκοι τύποι (για παράδειγμα: κλείσιμο)
Typealias για ενσωματωμένους τύπους
Μπορείτε να χρησιμοποιήσετε typalias για όλους τους ενσωματωμένους τύπους δεδομένων όπως String, Int, Float κ.λπ.
Για παράδειγμα:
typealias StudentName = Συμβολοσειρά
Η παραπάνω δήλωση επιτρέπει στο StudentName να χρησιμοποιείται παντού αντί για String
. Έτσι, εάν θέλετε να δημιουργήσετε μια σταθερά συμβολοσειράς τύπου, αλλά αντιπροσωπεύει περισσότερο σαν όνομα μαθητή. Μπορείτε να κάνετε τα εξής:
let name: StudentName = "Τζακ"
Χωρίς τη χρήση typealias, θα πρέπει να δηλώσετε τη σταθερά συμβολοσειράς τύπου ως:
let name: String = "Τζακ"
Πάνω από τα δύο παραδείγματα δημιουργείται μια σταθερά τύπου String
. Αλλά δηλώνοντας με typealias
, ο κώδικάς μας γίνεται πιο αναγνώσιμος.
Typealias για καθορισμένους από το χρήστη τύπους
Υπάρχουν πολλές περιπτώσεις όταν πρέπει να δημιουργήσετε τον δικό σας τύπο δεδομένων. Ας υποθέσουμε ότι θέλετε να δημιουργήσετε έναν τύπο που αντιπροσωπεύει μαθητή, μπορείτε να το δημιουργήσετε χρησιμοποιώντας μια τάξη ως:
class Student ( )
Τώρα μια ομάδα μαθητών μπορεί να αναπαρασταθεί ως πίνακας ως:
μαθητές var: Array = ()
Η παραπάνω δήλωση μπορεί να γίνει πιο ευανάγνωστη δημιουργώντας τον δικό σας τύπο για Array
χρήση typealias
ως:
μαθητές τύπου = Διάταξη
Τώρα μπορούμε να κάνουμε τον κώδικα πιο ευανάγνωστο όπως:
μαθητές: μαθητές = ()
Typealias για σύνθετους τύπους
Ας αναλύσουμε ένα ακόμη παράδειγμα. Ας υποθέσουμε ότι έχουμε μια μέθοδο που παίρνει ένα κλείσιμο ως παράμετρος εισαγωγής.
Μην ανησυχείτε εάν δεν γνωρίζετε για το κλείσιμο. Σκεφτείτε το ως έναν ειδικό τύπο λειτουργίας. Το εξηγήσαμε λεπτομερώς στο άρθρο: Ταχεία διακοπή λειτουργίας.
func someMethod(oncomp:(Int)->(String))( )
Το παραπάνω παράδειγμα παίρνει ένα κλείσιμο ως είσοδος στο someMethod
. Το κλείσιμο παίρνει μια Int
τιμή και επιστρέφει String
.
Μπορείτε να δείτε τη χρήση των (Int)->(String)
λογικών για τον αναγνώστη. Μπορείτε να χρησιμοποιήσετε typealias
για να δώσετε ένα νέο όνομα για αυτό:
typealias CompletionHandler = (Int) -> (συμβολοσειρά)
Τώρα μπορείτε να ξαναγράψετε τη μέθοδο ως:
func someMethod(oncomp:CompletionHandler)( )
Μπορούμε να δούμε τα ίδια βλέμματα κώδικα πιο σαφής και προγραμματιστής φιλικό με τη χρήση της typealias
.