Η ανάπτυξη εφαρμογών Macintosh χρησιμοποιεί επανακλήσεις για να επιτρέψει στο Mac OS X να εκτελεί κώδικα εντός της εφαρμογής σας για συγκεκριμένες λειτουργίες. Εάν δημιουργείτε μια τυπική εφαρμογή που βασίζεται σε παράθυρο ή σε έγγραφα Macintosh, ο πρώτος κώδικας που θα εκτελέσει το OS X είναι σε μία από τις ακόλουθες μεθόδους επανάκλησης που πρέπει να δημιουργήσετε για την εφαρμογή σας, ανάλογα με τη σχεδίαση της εφαρμογής:
-
Εφαρμογές που βασίζονται σε παράθυρο: (void)applicationDidFinishLaunching:(NSNotification*)aNotification
-
Εφαρμογές που βασίζονται σε έγγραφα: (void)windowControllerDidLoadNib:(NSWindowController*)windowController
Η επιστροφή κλήσης είναι απλώς μια μέθοδος που το λειτουργικό σύστημα τελικά εκτελεί ενώ προσπαθεί να παρέχει ή να ανακτήσει πληροφορίες από την εφαρμογή σας. Ο κώδικας της εφαρμογής σας θα εκτελέσει μια μέθοδο για μια κλάση Cocoa όπου η εφαρμογή σας θα έχει την ευκαιρία να παρέχει το όνομα μιας μεθόδου μιας από τις κλάσεις σας, που θα κληθεί σε ένα αντικείμενο αυτής της κλάσης που θα πρέπει επίσης να παρέχει η εφαρμογή σας.
Ο πληρεξούσιος είναι ένα βοηθητικό αντικείμενο, το οποίο χρησιμοποιεί μια κλάση Cocoa για να επεκτείνει τη λειτουργικότητα της κλάσης επιτρέποντάς σας να εφαρμόσετε κώδικα που θα εκτελεί η κλάση Cocoa σε ορισμένες περιπτώσεις. Μια κλάση Cocoa ελέγχει το αντικείμενο αντιπροσώπου της (εάν έχει εκχωρηθεί σε κάποιον) για το εάν ο πληρεξούσιος παρέχει μια υλοποίηση μιας συγκεκριμένης μεθόδου. Εάν ο πληρεξούσιος έχει αυτήν τη μέθοδο, η κλάση Cocoa εκτελεί αυτήν τη μέθοδο. Εάν ο πληρεξούσιος δεν εφαρμόσει τη συγκεκριμένη μέθοδο, η κλάση Cocoa είτε χρησιμοποιεί μια δική της προεπιλεγμένη μέθοδο είτε καταγράφει ένα σφάλμα. Οι περισσότεροι εκπρόσωποι πρέπει να ενσωματώσουν ένα συγκεκριμένο πρωτόκολλο που καθορίζει ποιες μεθόδους μπορούν να εφαρμόσουν. οι εκπρόσωποι του κώδικά σας πρέπει να χρησιμοποιούν τις μεθόδους υλοποίησης από το συγκεκριμένο πρωτόκολλο που αναμένει ο πληρεξούσιος.
Ακολουθούν μερικά από τα αντικείμενα Cocoa που μπορούν να χρησιμοποιήσουν πληρεξούσιους για την εκτέλεση του κώδικά σας:
-
NSTableView. Το NSTableView δέχεται έναν πληρεξούσιο που υπακούει στο πρωτόκολλο NSTableViewDelegate. Αυτό περιλαμβάνει 20 έως 30 μεθόδους που μπορεί να εφαρμόσει το αντικείμενο αντιπροσώπου της εφαρμογής σας για να υποστηρίξει την ανάγκη της εφαρμογής σας να γνωρίζει τι κάνει το NSTableView. Υπάρχουν μέθοδοι που θα καλούνται στην εφαρμογή σας όταν χρειάζεται να γνωρίζει και να αντιδρά σε μια ενέργεια, όπως όταν ένας χρήστης κάνει μια επιλογή στον πίνακα ή όταν αλλάζει το μέγεθος μιας στήλης.
-
Εφαρμογή NSA. Μπορείτε να εκχωρήσετε ένα NSApplicationDelegate για να χειριστεί ορισμένες από τις μεθόδους που θα λάβει μια παρουσία NSApplication (η εφαρμογή σας). Αυτές οι μέθοδοι ενδέχεται να κληθούν ακριβώς πριν ή αμέσως μετά την εκτέλεση μιας άλλης μεθόδου από την εφαρμογή σας, έτσι ώστε η εφαρμογή σας να μπορεί να προετοιμαστεί.
-
NSWindow. Ένα NSWindowDelegate που έχει εκχωρηθεί σε ένα από τα παράθυρα της εφαρμογής σας θα δώσει στην εφαρμογή σας την ευκαιρία να ανταποκριθεί σε αλλαγές μεγέθους, μετακίνησης ή άλλων συμβάντων παραθύρου ενός χρήστη.
-
NSMmenu. Εφαρμόζετε ένα NSmenuDelegate για την υποστήριξη συμβάντων που συμβαίνουν όταν ένας χρήστης αλληλεπιδρά με μενού στην εφαρμογή σας.