1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> Tianyu LIU: Γεια σου, πώς είναι πάει ο καθένας; 3 00:00:13,590 --> 00:00:20,250 Και αυτό είναι το iOS App Ο προγραμματισμός του στόχου γ σεμιναρίου. 4 00:00:20,250 --> 00:00:21,520 Και το όνομά μου είναι Tianyu Liu. 5 00:00:21,520 --> 00:00:26,114 Είμαι μια junior Lowell τώρα, επικέντρωση στην επιστήμη των υπολογιστών. 6 00:00:26,114 --> 00:00:28,030 Έτσι, σε αυτό το σεμινάριο είμαι πρόκειται να σας διδάξει παιδιά 7 00:00:28,030 --> 00:00:30,770 λίγο για το πώς να κάνει μια εφαρμογή. 8 00:00:30,770 --> 00:00:33,030 Yay, ενθουσιάζονται για αυτό. 9 00:00:33,030 --> 00:00:36,790 >> Έτσι, πριν αρχίσουμε ακόμη και για καταδύσεις στην πραγματική πλευρά του προγραμματισμού, 10 00:00:36,790 --> 00:00:41,840 ας πραγματικά γρήγορα μιλάμε για γιατί μπορεί να θέλετε να οικοδομήσουμε μια iOS app; 11 00:00:41,840 --> 00:00:43,940 Γιατί είναι το iOS τόσο φοβερό; 12 00:00:43,940 --> 00:00:47,250 Έτσι, το πρώτο πρόβλημα, το πρώτο πράγμα που είναι αρκετά φοβερό για μας, 13 00:00:47,250 --> 00:00:51,190 ειδικά ως CS50 σπουδαστής, είναι ότι το iOS 14 00:00:51,190 --> 00:00:55,860 χρησιμοποιεί Στόχος Γ Λοιπόν, υπάρχει μια νέα γλώσσα που ονομάζεται Swift, 15 00:00:55,860 --> 00:00:58,260 αλλά εμείς δεν πρόκειται να χρησιμοποιήσετε ότι σε αυτό το σεμινάριο. 16 00:00:58,260 --> 00:01:01,540 Αν σας ενδιαφέρει σε Swift, εκεί είναι μια ανεξάρτητη σεμινάριο γι 'αυτό. 17 00:01:01,540 --> 00:01:05,590 Αλλά Στόχος C είναι βασικά υπερσύνολο του Γ Σημασία 18 00:01:05,590 --> 00:01:10,230 ότι όλα όσα χρησιμοποιείτε σε C μπορεί να να μεταφραστεί σε Objective C 19 00:01:10,230 --> 00:01:11,630 πολύ εύκολα. 20 00:01:11,630 --> 00:01:15,730 >> Όπως μπορείτε να δείτε στη συνέχεια, ότι πράγματι υπάρχουν μερικές πολύ βασική σύνταξη, είναι 21 00:01:15,730 --> 00:01:19,790 βασικά ακριβώς το ίδιο, C και του Στόχου Γ Έτσι, 22 00:01:19,790 --> 00:01:22,860 αφού έχετε πάρει CS50 μέχρι αυτό το μέτρο, που ήδη 23 00:01:22,860 --> 00:01:26,500 γνωρίζουν Στόχος Γ, τουλάχιστον 40%. 24 00:01:26,500 --> 00:01:30,720 Επίσης, η Apple έχει μια πραγματικά ισχυρή API για iOS. 25 00:01:30,720 --> 00:01:33,750 Υπάρχουν πολλά πραγματικά τρελό πράγματα που μπορείτε να κάνετε με αυτό. 26 00:01:33,750 --> 00:01:36,760 Ένας εκ των οποίων είναι κάποιος στην πραγματικότητα δημιούργησε ένα iOS app 27 00:01:36,760 --> 00:01:40,600 για τον έλεγχο των αυτοκινήτων, η οποία είναι αρκετά ενδιαφέρουσα. 28 00:01:40,600 --> 00:01:42,610 Πιθανώς ένα ελικόπτερο είναι πιο συναρπαστικό. 29 00:01:42,610 --> 00:01:47,020 Αλλά αυτό είναι πόσο ισχυρό ΥΠ API μπορεί να είναι. 30 00:01:47,020 --> 00:01:49,340 >> Και όπως μπορεί να έχετε κατάλαβα τώρα, 31 00:01:49,340 --> 00:01:53,000 η υπερχείλιση είναι πιθανώς ένα από τα Οι πιο σημαντικές online πηγές 32 00:01:53,000 --> 00:01:54,250 στη διάθεσή σας. 33 00:01:54,250 --> 00:01:58,090 Και καλά νέα, για κάθε μόνο πρόβλημα που μπορείτε ενδεχομένως 34 00:01:58,090 --> 00:02:01,840 σκεφτείτε ενώ το κτίριο σας τελικό σχέδιο στο πλαίσιο του στόχου C, 35 00:02:01,840 --> 00:02:05,910 είναι πιθανό μια απάντηση υπερχείλιση στοίβας. 36 00:02:05,910 --> 00:02:07,420 Είναι απλά φοβερό. 37 00:02:07,420 --> 00:02:12,780 Εκτός από αυτό, iOS είναι πραγματικά μια πλατφόρμα 38 00:02:12,780 --> 00:02:16,260 όπου μπορείτε να φτάσετε ένα τεράστιο ακροατήριο με λίγη προσπάθεια. 39 00:02:16,260 --> 00:02:20,170 Δεν είναι όπως το Android, όπου όλα είναι πολύ κατακερματισμένη. 40 00:02:20,170 --> 00:02:22,540 >> Όλα iOS είναι ενιαία. 41 00:02:22,540 --> 00:02:25,920 Και εφ 'όσον μπορείτε να δημιουργήσετε μια εφαρμογή για το iPhone, 42 00:02:25,920 --> 00:02:31,260 Μπορείτε πολύ εύκολα να λιμένα ότι στο iPad, iPad mini, ή διαφορετικά μεγέθη iPhone. 43 00:02:31,260 --> 00:02:33,050 Όλα αυτά είναι πολύ βολικό. 44 00:02:33,050 --> 00:02:36,430 Και είναι ακριβώς πραγματικά καλό για εντυπωσιάζοντας τους φίλους σας. 45 00:02:36,430 --> 00:02:38,920 Μπορείτε να κρατήσετε μόνο ένα iPhone και πείτε στο φίλο σας hey, 46 00:02:38,920 --> 00:02:40,250 αυτό είναι το app που κάνω. 47 00:02:40,250 --> 00:02:43,860 Μπορείτε να το κάνετε αυτό για κάθε desktop εφαρμογές, το οποίο είναι ωραίο. 48 00:02:43,860 --> 00:02:48,870 >> Εντάξει, τώρα ας πάρει πραγματικά στη γλώσσα του Στόχου Γ 49 00:02:48,870 --> 00:02:52,910 Γιατί λοιπόν να μην αρχίσουμε με κάποια πραγματικά βασική σύνταξη. 50 00:02:52,910 --> 00:02:57,410 Όπως ανέφερα και πριν Στόχος Γ Είναι βασικά ένα υπερσύνολο του C. 51 00:02:57,410 --> 00:03:01,860 Έτσι, πολλοί βασική σύνταξη είναι πράγματι ακριβώς το ίδιο. 52 00:03:01,860 --> 00:03:06,150 Δηλώνοντας μια μεταβλητή και την προσθήκη δύο μεταβλητές μαζί 53 00:03:06,150 --> 00:03:09,440 είναι ακριβώς όπως έχουμε κάνει στο Mario. 54 00:03:09,440 --> 00:03:11,140 Τίποτα νέο εδώ. 55 00:03:11,140 --> 00:03:17,370 >> Ομοίως, ο ένοικος για βρόχο και την κατάσταση είναι επίσης η ίδια. 56 00:03:17,370 --> 00:03:22,370 Μπορείτε να κάνετε ένα για το βρόχο, όπως ακριβώς Οι έκανε σε ένα Mario [δεν ακούγεται]. 57 00:03:22,370 --> 00:03:26,280 Και μπορείτε να κάνετε προϋποθέσεις όπως ακριβώς ό, τι 58 00:03:26,280 --> 00:03:29,240 έχουν κάνει σε προηγούμενες σειρές p σας. 59 00:03:29,240 --> 00:03:33,400 Ωστόσο, Objective C δεν είναι εντελώς C, 60 00:03:33,400 --> 00:03:36,640 και υπάρχει κάτι που είναι το είδος της παράξενο γι 'αυτό. 61 00:03:36,640 --> 00:03:42,340 >> Το πρώτο είναι ότι όταν είστε κάνει προγραμματισμού C, που συνήθως ονομάζουμε 62 00:03:42,340 --> 00:03:46,310 περιλαμβάνουν και στη συνέχεια ένα όνομα της βιβλιοθήκης. 63 00:03:46,310 --> 00:03:49,860 Αλλά σε Objective C καλείτε εκείνη την εισαγωγή. 64 00:03:49,860 --> 00:03:53,100 Βασικά λέγοντας λειτουργικότητα, απλά διαφορετικά ονόματα. 65 00:03:53,100 --> 00:03:55,940 Και οι χορδές είναι πραγματικά λίγο παράξενο. 66 00:03:55,940 --> 00:03:58,250 Μπορείτε να δείτε ότι το πρώτο πράγμα που είναι το είδος της παράξενο 67 00:03:58,250 --> 00:04:04,190 είναι ότι έχετε μια αρκετά weird-- sorry-- έχετε ένα αρκετά περίεργο NS 68 00:04:04,190 --> 00:04:04,960 εγγραφείτε εδώ. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 Και το δεύτερο πράγμα αυτό είναι το είδος της παράξενο 71 00:04:09,160 --> 00:04:14,090 είναι έχετε ένα σύμβολο πριν πραγματικά δηλώνοντας το string. 72 00:04:14,090 --> 00:04:19,209 Έτσι, το σύμβολο σημαίνει βασικά ότι ένα string δεν είναι μόνο μια κλωστή, 73 00:04:19,209 --> 00:04:20,880 στην πραγματικότητα είναι ένα αντικείμενο. 74 00:04:20,880 --> 00:04:22,780 Εμείς πάμε για να εξηγήσει ότι αργότερα, ώστε να μην κάνουμε 75 00:04:22,780 --> 00:04:25,800 πανικός αν δεν το κάνετε καταλαβαίνουν τι σημαίνει αυτό. 76 00:04:25,800 --> 00:04:29,980 Και η εκτύπωση στην κονσόλα είναι λίγο διαφορετική, διότι σε C καλούμε printf, 77 00:04:29,980 --> 00:04:33,350 αλλά σε Objective C καλούμε [δεν ακούγεται]. 78 00:04:33,350 --> 00:04:35,640 >> Ίσως να αναρωτιέστε τι είναι αυτό. 79 00:04:35,640 --> 00:04:38,070 Αυτό είναι βασικά printf, απλά μια διαφορετική γλώσσα. 80 00:04:38,070 --> 00:04:41,370 Ακριβώς το ίδιο χρήση, ακριβώς η ίδια λειτουργικότητα. 81 00:04:41,370 --> 00:04:44,060 Λοιπόν αποδεικνύεται ότι Στόχος Γ πραγματικότητα 82 00:04:44,060 --> 00:04:50,040 έχει ένα ns πρόθεμα σχεδόν τα πάντα, κάθε βασικός τύπος δεδομένων, 83 00:04:50,040 --> 00:04:52,690 NSString, nsarray, nsdictionary. 84 00:04:52,690 --> 00:04:56,340 Ο λόγος είναι ότι η NS αντιπροσωπεύει πραγματικά για το επόμενο βήμα, 85 00:04:56,340 --> 00:04:59,980 η οποία είναι μια εταιρεία που Ο Steve Jobs έχει ιδρύσει, 86 00:04:59,980 --> 00:05:03,960 η οποία είναι μια εταιρεία όπου η Στόχος γλώσσα C γεννιέται. 87 00:05:03,960 --> 00:05:06,140 Έτσι, αυτό είναι βασικά παράδοση. 88 00:05:06,140 --> 00:05:09,010 Ξέρω ότι είναι λίγο Περίεργο, αλλά είναι η Apple. 89 00:05:09,010 --> 00:05:16,840 >> Έτσι, κάτι που είναι ακόμα πιο περίεργα από ότι είναι μια δήλωση της συνάρτησης. 90 00:05:16,840 --> 00:05:22,600 Αυτό είναι πολύ διαφορετικό από ό, τι εμείς δείτε σε C, γιατί εδώ πραγματικά 91 00:05:22,600 --> 00:05:25,190 δεν μοιάζει πια C. 92 00:05:25,190 --> 00:05:28,810 Τι here-- έχουν από το τρόπος αυτό δεν είναι ένα σημείο σφαίρα, 93 00:05:28,810 --> 00:05:30,690 Αυτό είναι ένα αρνητικό πρόσημο. 94 00:05:30,690 --> 00:05:36,440 Έχετε αρνητικό πρόσημο παρένθεση άκυρη και, στη συνέχεια, το όνομα της συνάρτησης. 95 00:05:36,440 --> 00:05:38,450 Ας πούμε αν είμαστε έχουν Γεια σας κόσμο, τότε 96 00:05:38,450 --> 00:05:42,820 ο τύπος επιστροφής θα είναι άκυρα επειδή επιστρέφουμε τίποτα. 97 00:05:42,820 --> 00:05:44,680 >> Τι γίνεται πραγματικά παράξενο είναι ότι όταν είστε 98 00:05:44,680 --> 00:05:49,580 έχει περισσότερες από μία παράμετρο περνώντας σε μια ίδια λειτουργία που 99 00:05:49,580 --> 00:05:53,870 θα είναι πραγματικά περίεργο, όπως φαίνεται εδώ. 100 00:05:53,870 --> 00:05:58,230 Έχουμε ένα όνομα μεθόδου, καλείται να addInt [δεν ακούγεται] 101 00:05:58,230 --> 00:06:00,370 και είμαστε διέρχεται μία παράμετρο. 102 00:06:00,370 --> 00:06:05,170 Αλλά μετά από αυτό, έχουμε Περισσότερα Όνομα κλήση μεθόδου με. 103 00:06:05,170 --> 00:06:08,500 Και μετά με μας περνάτε Η δεύτερη παράμετρος. 104 00:06:08,500 --> 00:06:11,940 Αυτό είναι πραγματικά ένα λίγο παράξενο, αλλά όλες αυτές οι δηλώσεις λειτουργία 105 00:06:11,940 --> 00:06:14,770 ακολουθούν το ίδιο πρότυπο με αυτό. 106 00:06:14,770 --> 00:06:17,450 >> Έχουμε το σύμβολο του μείον για να αρχίσει με. 107 00:06:17,450 --> 00:06:21,550 Το αρνητικό πρόσημο θα μπορούσε να είναι ένα θετικό πρόσημο μερικές φορές με βάση το είδος της μεθόδου 108 00:06:21,550 --> 00:06:22,340 είναι αυτό. 109 00:06:22,340 --> 00:06:25,000 Η μέθοδος είναι βασικά ένα άλλο όνομα για τη λειτουργία. 110 00:06:25,000 --> 00:06:26,760 Και θα πάμε να εξηγούν ότι αργότερα, όταν 111 00:06:26,760 --> 00:06:30,580 μιλάμε για το αντικείμενο προγραμματισμό. 112 00:06:30,580 --> 00:06:34,300 Μπορείτε πρώτα να προσδιορίσει την επιστροφή πληκτρολογήστε μέσα στις παρενθέσεις, 113 00:06:34,300 --> 00:06:37,450 μετά από την οποία προέρχεται το όνομα της μεθόδου. 114 00:06:37,450 --> 00:06:40,310 Θα περνάτε μια παράμετρο. 115 00:06:40,310 --> 00:06:44,750 Και αν έχετε περισσότερες παραμέτρους θα πρέπει να επεκτείνει το όνομα της μεθόδου 116 00:06:44,750 --> 00:06:46,770 και ουσιαστικά να γράψετε κάτι περισσότερο εδώ. 117 00:06:46,770 --> 00:06:48,090 >> Θα μπορούσε να είναι οτιδήποτε θέλετε. 118 00:06:48,090 --> 00:06:50,140 Στην περίπτωσή μας είναι με. 119 00:06:50,140 --> 00:06:56,160 Αλλά θα μπορούσατε να πείτε τέλος, ή, ή, ή abc πλήρες μπαρ, ό, τι θέλετε. 120 00:06:56,160 --> 00:06:59,500 Και στη συνέχεια, μετά από αυτό είστε περνώντας παράμετρος b. 121 00:06:59,500 --> 00:07:01,750 Αυτό είναι ένα πραγματικά περίεργο σύμβαση, αλλά είμαστε 122 00:07:01,750 --> 00:07:05,800 πρόκειται να δούμε γιατί η Apple ήθελε για να το κάνουμε αυτό πολύ γρήγορα. 123 00:07:05,800 --> 00:07:10,530 Λοιπόν, πώς μπορώ να καλέσετε τη λειτουργία; 124 00:07:10,530 --> 00:07:15,520 Η κλήση των λειτουργιών του στόχου C είναι επίσης διαφορετική από το C. 125 00:07:15,520 --> 00:07:18,170 >> Στην πραγματικότητα, καλώντας ένα λειτουργία στο πλαίσιο του στόχου C 126 00:07:18,170 --> 00:07:21,030 είναι περισσότερο σαν να μιλάμε σε κάποιον. 127 00:07:21,030 --> 00:07:27,030 Εδώ έχουμε τον εαυτό, η οποία ονομάζεται ένα αντικείμενο. 128 00:07:27,030 --> 00:07:33,830 Είσαι βασικά λέει ο αντιρρήσεις εαυτό για να πει "Hello World!" 129 00:07:33,830 --> 00:07:36,830 Αυτός είναι ο τρόπος για να καλέσετε τη λειτουργία. 130 00:07:36,830 --> 00:07:41,690 Ένα αντικείμενο και ένα όνομα μεθόδου σε συνδυασμό με το άλλο. 131 00:07:41,690 --> 00:07:49,600 Και αυτό είναι όπου το παράξενο επέκταση για το όνομα της μεθόδου έρχεται πραγματικά στο παιχνίδι. 132 00:07:49,600 --> 00:07:52,150 >> Ας δούμε το δεύτερο παράδειγμα. 133 00:07:52,150 --> 00:07:56,780 Εμείς απλά ορίζεται μια μέθοδο που ονομάζεται addInt με μπλα μπλα μπλα. 134 00:07:56,780 --> 00:08:00,066 Έτσι, σε αυτή την περίπτωση, όταν καλείς ότι η ειδική [? μήνυμα;] πρόκειται 135 00:08:00,066 --> 00:08:02,035 να μοιάζουν με τον εαυτό addInt: 10 με: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Ακούγεται σαν αγγλικά. 138 00:08:08,070 --> 00:08:11,980 Αν και η λειτουργία δήλωση της συνάρτησης είναι παράξενο, 139 00:08:11,980 --> 00:08:15,600 το σημείο του στόχου C μέθοδος μοτίβο δήλωση, 140 00:08:15,600 --> 00:08:18,830 είναι ότι όταν καλείτε η λειτουργία ή η μέθοδος 141 00:08:18,830 --> 00:08:21,980 θα ακούγεται σαν πραγματική αγγλικά. 142 00:08:21,980 --> 00:08:25,270 Γι 'αυτό είναι πολύ έξυπνο Μόλις φτάσετε σε αυτό. 143 00:08:25,270 --> 00:08:28,740 >> Ειδικά στην περίπτωση αυτή, όπου μπορείτε βασικά 144 00:08:28,740 --> 00:08:33,010 βλέπουμε ότι το όνομα της συνάρτησης είναι είδος της τεκμηρίωσης ίδια. 145 00:08:33,010 --> 00:08:35,390 Δεν χρειάζεται οποιαδήποτε περισσότερες εξηγήσεις για να δείτε 146 00:08:35,390 --> 00:08:42,770 τι ακριβώς συμβαίνει, τι ακριβώς μία παράμετρο που κάνει. 147 00:08:42,770 --> 00:08:48,470 Πηγαίνοντας πέρα ​​από αυτό, ας μιλήσουμε λίγο bit για αντικειμενοστραφή προγραμματισμό. 148 00:08:48,470 --> 00:08:52,160 Αντικειμενοστρεφής προγραμματισμός είναι Μία από τις θεμελιώδεις προγραμματισμού 149 00:08:52,160 --> 00:08:57,110 τεχνικές ή μοτίβα που είναι χρησιμοποιείται από το στόχο Γ Στόχος Γ 150 00:08:57,110 --> 00:09:03,110 καλείται Στόχος Γ, δεν C, για ένα πραγματικά καλό λόγο. 151 00:09:03,110 --> 00:09:07,560 >> Έτσι, πριν φτάσουμε σε Σύνταξη Στόχος Γ, 152 00:09:07,560 --> 00:09:11,670 Ας πραγματικά γρήγορα δούμε τι ακριβώς είναι ένα αντικείμενο. 153 00:09:11,670 --> 00:09:15,480 Πιθανώς Έχουμε κάνει κάτι σαν αντικείμενο πριν, η οποία 154 00:09:15,480 --> 00:09:19,780 καλείται η struct όταν είστε την εφαρμογή από ένα δέντρο ή μια συνδεδεμένη λίστα 155 00:09:19,780 --> 00:09:25,730 ή [? δοκιμάσετε. ?] Έτσι, είναι ουσιαστικά σαν ένα struct, 156 00:09:25,730 --> 00:09:28,560 αλλά είναι πολύ πιο ισχυρό από αυτό. 157 00:09:28,560 --> 00:09:33,150 Ένα αντικείμενο έχει μεθόδους και ιδιότητες. 158 00:09:33,150 --> 00:09:35,310 Οι μέθοδοι είναι βασικά λειτουργίες. 159 00:09:35,310 --> 00:09:39,480 Βασικά, οι λειτουργίες ότι ένα ειδικό για ένα συγκεκριμένο αντικείμενο. 160 00:09:39,480 --> 00:09:45,440 >> Και οι ιδιότητες είναι βασικά η πεδίο που καθορίζετε στο struct. 161 00:09:45,440 --> 00:09:48,500 Έτσι, για κάθε μεμονωμένο αντικείμενο έχουμε κάποιο ακίνητο 162 00:09:48,500 --> 00:09:53,160 ότι έχει κάποιες μεταβλητές που είναι ειδικά για το αντικείμενο. 163 00:09:53,160 --> 00:09:57,170 Και έχουμε κάποιες λειτουργίες που είναι επίσης ειδικό στο αντικείμενο. 164 00:09:57,170 --> 00:10:01,180 Και οι λειτουργίες ονομάζονται μέθοδοι και οι μεταβλητές που ονομάζονται ιδιότητες. 165 00:10:01,180 --> 00:10:03,190 Είναι ακριβώς ένα φανταχτερό όνομα. 166 00:10:03,190 --> 00:10:10,440 Ενώ γεγονός που, κάθε άποψη βλέπετε ενώ ανοίγετε ένα iOS app, 167 00:10:10,440 --> 00:10:17,720 ας πούμε το Twitter ή το Facebook, κάθε άποψη που βλέπετε είναι ένα αντικείμενο. 168 00:10:17,720 --> 00:10:22,110 Και ακόμα και ολόκληρο το app είναι ένα αντικείμενο για να αρχίσει με. 169 00:10:22,110 --> 00:10:25,340 Πολύ ενδιαφέρουσα ιδέα. 170 00:10:25,340 --> 00:10:28,480 >> Και γιατί θέλουμε αντικείμενο προγραμματισμό; 171 00:10:28,480 --> 00:10:33,530 Έτσι, μπορείτε να φανταστείτε ότι όταν πρόγραμμα παίρνει αρκετά περίπλοκο. 172 00:10:33,530 --> 00:10:36,400 Ας πούμε όταν είστε την εφαρμογή σκακιέρα, 173 00:10:36,400 --> 00:10:40,020 η λογική πρόκειται να να είναι πραγματικά περίπλοκη. 174 00:10:40,020 --> 00:10:43,280 Έχετε 36 διαφορετικά κομμάτια, έτσι ώστε αν 175 00:10:43,280 --> 00:10:48,370 θέλετε να γράψετε τη λογική για όλους 36 διαφορετικά κομμάτια στο σκάκι, 176 00:10:48,370 --> 00:10:52,150 ότι πρόκειται να είναι ένα πολύ διαφορετικές συναρτήσεις και μεταβλητές. 177 00:10:52,150 --> 00:10:54,070 Είναι ένα μεγάλο πρόβλημα. 178 00:10:54,070 --> 00:10:58,980 Και κατά πάσα πιθανότητα θα πάμε να γράψει ένα διαφορετική μέθοδο ή διαφορετική λειτουργία 179 00:10:58,980 --> 00:11:03,950 για κάθε κομμάτι ακριβώς ελέγχουν τι κάνουν. 180 00:11:03,950 --> 00:11:08,830 >> Αλλά αν το κάνετε αντικειμενοστραφή προγραμματισμό, όλα από αυτά τα κομμάτια 181 00:11:08,830 --> 00:11:12,440 μπορεί να αντληθεί σε ένα ενιαίο αντικείμενο. 182 00:11:12,440 --> 00:11:16,111 Και το αντικείμενο θα έχουν κάποια κοινά ιδιότητες, όπως το είδος του κομματιού 183 00:11:16,111 --> 00:11:16,610 είναι αυτό; 184 00:11:16,610 --> 00:11:17,740 Τι χρώμα είναι αυτό; 185 00:11:17,740 --> 00:11:19,480 Πώς μπορεί να κινηθεί; 186 00:11:19,480 --> 00:11:24,660 Και με αυτόν τον τρόπο έχετε πολύ απλοποιηθεί η λογική της. 187 00:11:24,660 --> 00:11:28,480 Γι 'αυτό είναι απλά ένα πραγματικά καλό τρόπο να κάνουν πολύπλοκα προγράμματα, 188 00:11:28,480 --> 00:11:33,700 και ιεραρχική σχέση εντός του προγράμματος, είναι πολύ απλή. 189 00:11:33,700 --> 00:11:36,800 Όπως θα πάμε να δούμε γιατί πολύ γρήγορα, όταν 190 00:11:36,800 --> 00:11:39,660 Θα κάνουμε programming-- όταν στην πραγματικότητα είμαστε 191 00:11:39,660 --> 00:11:42,830 κάνει έναν κωδικό S προγραμματισμού συνεδρία αργότερα. 192 00:11:42,830 --> 00:11:48,120 >> Λοιπόν, εκτός από αυτό, αντικειμενοστραφής προγραμματισμός 193 00:11:48,120 --> 00:11:50,030 είναι απλώς ένα πολύ διασκεδαστικό. 194 00:11:50,030 --> 00:11:51,990 Πήρατε να σχεδιάσετε το δικό σας αντικείμενο. 195 00:11:51,990 --> 00:11:56,080 Πήρατε να σχεδιάσετε τι κάνει μοιάζει με τον εαυτό σας. 196 00:11:56,080 --> 00:11:58,250 Δεν υπάρχει σωστή απάντηση σε αυτό. 197 00:11:58,250 --> 00:12:02,940 Και είναι απολύτως ενδιαφέρον. 198 00:12:02,940 --> 00:12:07,270 Έτσι, σε αντικειμενοστραφή προγραμματισμό, δύο θεμελιώδεις έννοιες 199 00:12:07,270 --> 00:12:10,130 θα είναι της τάξης και παράδειγμα. 200 00:12:10,130 --> 00:12:13,570 Μια κατηγορία είναι βασικά ένα πρότυπο για το αντικείμενο. 201 00:12:13,570 --> 00:12:18,070 Και ένα παράδειγμα είναι βασικά ένα συγκεκριμένο αντικείμενο. 202 00:12:18,070 --> 00:12:21,090 >> Ας πούμε ότι έχετε κάνει ένα cookie. 203 00:12:21,090 --> 00:12:24,800 Σε αυτήν την περίπτωση, κάθε cookie που πραγματικά να καταλήξετε με 204 00:12:24,800 --> 00:12:27,310 πρόκειται να είναι ένα αντικείμενο. 205 00:12:27,310 --> 00:12:35,830 Αλλά η πλάκα μπισκότο που χρησιμοποιείτε για να ψήνουν όλα τα μπισκότα θα είναι μια τάξη. 206 00:12:35,830 --> 00:12:37,880 Μια κατηγορία είναι ουσιαστικά ένα πρότυπο. 207 00:12:37,880 --> 00:12:46,170 Και το παράδειγμα θα είναι ένας συγκεκριμένος αντικείμενο που δημιουργείται από τον κλάδο αυτό. 208 00:12:46,170 --> 00:12:49,970 >> Και θα δημιουργηθεί μια εμφάνιση με βάση τη δήλωση της κατηγορίας, 209 00:12:49,970 --> 00:12:56,760 όπως θα δούμε στη συνέχεια διαφάνειες. 210 00:12:56,760 --> 00:13:00,010 Ας κάνουν πραγματικά μια πραγματικά γρήγορο παράδειγμα [δεν ακούγεται]. 211 00:13:00,010 --> 00:13:04,280 Ας πούμε ότι είμαστε δηλώνοντας ένα αντικείμενο για μια γάτα. 212 00:13:04,280 --> 00:13:07,930 Το αντικείμενο πρέπει να have-- η κατηγορία γάτα θα πρέπει να 213 00:13:07,930 --> 00:13:11,260 έχουν κάποιες ιδιότητες και μεθόδους. 214 00:13:11,260 --> 00:13:17,300 Τι είδους ιδιότητες θα πρέπει να τα τάξη have-- πρέπει η γάτα να έχει; 215 00:13:17,300 --> 00:13:20,580 >> Για παράδειγμα, το χρώμα, την ηλικία και τη φυλή, εκείνοι 216 00:13:20,580 --> 00:13:24,440 θα είναι μεταβλητές που είναι συγκεκριμένες για κάθε γάτα. 217 00:13:24,440 --> 00:13:27,790 Και αυτά είναι μερικά πράγματα που χρησιμοποιούμε για να περιγράψουμε μια γάτα. 218 00:13:27,790 --> 00:13:31,880 Τι είδους μέθοδος, ή τι μπορεί να κάνει μια γάτα; 219 00:13:31,880 --> 00:13:37,160 Μερικά γρήγορα παραδείγματα θα κυνηγήσει ποντίκι, τρώνε ψάρι ή απλά νιαούρισμα. 220 00:13:37,160 --> 00:13:40,900 Αυτό είναι ένα πραγματικά γρήγορο παράδειγμα της κατηγορίας της γάτας. 221 00:13:40,900 --> 00:13:46,920 Και μια πολύ ειδική αντικείμενο γάτα θα είναι μια γάτα 222 00:13:46,920 --> 00:13:50,930 όπου ορίζουμε το το χρώμα, την ηλικία και τη φυλή. 223 00:13:50,930 --> 00:13:53,790 >> Σε αυτή την περίπτωση, το αντικείμενο μας είναι δεν είναι πλέον μια τάξη πια. 224 00:13:53,790 --> 00:14:00,010 Θα αντιγράψετε το πρότυπο από την τάξη και ορίζουμε κάθε συγκεκριμένη πληροφορία 225 00:14:00,010 --> 00:14:04,510 για το συγκεκριμένο αντικείμενο ώστε να είναι ανεξάρτητος. 226 00:14:04,510 --> 00:14:09,350 Και όταν καλείς μια μέθοδος εντός ενός αντικειμένου, 227 00:14:09,350 --> 00:14:16,640 απλά καλέστε νιαούρισμα στο αντικείμενο, η οποία είναι η γάτα που μόλις δημιουργήσατε. 228 00:14:16,640 --> 00:14:19,020 >> Μάλλον θα εκτυπώσετε κάτι σαν "Hello World! 229 00:14:19,020 --> 00:14:20,000 Meow. " 230 00:14:20,000 --> 00:14:22,110 Αρκετά χαριτωμένο. 231 00:14:22,110 --> 00:14:24,500 Εντάξει, ας μπει σε κάποια λεπτομέρειες 232 00:14:24,500 --> 00:14:30,650 και να δούμε τι ακριβώς κάνει αυτό μεταφράζονται σε ύπαρξη iOS προγραμματισμό. 233 00:14:30,650 --> 00:14:36,500 Έτσι, στο iOS προγραμματισμό κάθε μεμονωμένο τάξη θα υλοποιηθεί σε δύο αρχεία. 234 00:14:36,500 --> 00:14:41,420 Ένα αρχείο είναι εδώ, το οποίο ονομάζεται διασύνδεση. 235 00:14:41,420 --> 00:14:45,300 Ένα άλλο αρχείο είναι εδώ, το οποίο ονομάζεται η εφαρμογή. 236 00:14:45,300 --> 00:14:48,890 >> Τυπικά η διεπαφή θα έχουν extension.h 237 00:14:48,890 --> 00:14:51,740 όπως έχουμε δει στις βιβλιοθήκες C. 238 00:14:51,740 --> 00:14:56,340 Και το αρχείο της εφαρμογής είναι πρόκειται να έχει extension.n. 239 00:14:56,340 --> 00:14:57,260 Είναι κάπως περίεργο. 240 00:14:57,260 --> 00:15:01,270 Αλλά σημαίνει .Ν πράγματι .c, δεν υπάρχει θεμελιώδης διαφορά ανάμεσα σε εκείνους 241 00:15:01,270 --> 00:15:02,100 δύο. 242 00:15:02,100 --> 00:15:06,650 Έτσι, σε αυτή την περίπτωση, μπορούμε να δούμε ότι είμαστε δηλώνοντας διεπαφή, Cat: αντικείμενο. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 Αυτό ονομάζεται κληρονομικότητα. 245 00:15:13,760 --> 00:15:19,170 Είμαστε ουσιαστικά κληρονομεί το κλάση γάτα από την κατηγορία αντικειμένου. 246 00:15:19,170 --> 00:15:24,790 Έτσι κάθε ακίνητο και μια μέθοδο που ήταν προηγουμένως ορίζεται στην κλάση αντικειμένου 247 00:15:24,790 --> 00:15:28,560 θα οριστεί αυτόματα σε μια κατηγορία γάτα καθώς και. 248 00:15:28,560 --> 00:15:35,900 >> Επιπλέον προς αυτό, ορίζουμε το χρώμα, φυλή, την ηλικία και, τρεις μεταβλητές. 249 00:15:35,900 --> 00:15:39,360 Αυτό φαίνεται πραγματικά σαν κάτι που έχετε κάνει πριν. 250 00:15:39,360 --> 00:15:41,770 Μοιάζει με struct. 251 00:15:41,770 --> 00:15:44,950 Αυτό είναι βασικά η σύνταξη για δήλωση struct, 252 00:15:44,950 --> 00:15:47,710 και ότι είναι απόλυτα σωστή. 253 00:15:47,710 --> 00:15:51,825 Και επειδή ανέφερα και πριν, η διαφορά ένα struct 254 00:15:51,825 --> 00:15:53,960 και ένα αντικείμενο, ένα από τα θεμελιώδεις διαφορές 255 00:15:53,960 --> 00:15:59,080 είναι ότι ένα αντικείμενο έχει μέθοδο, ενώ ένα struct έχει μόνο μεταβλητές. 256 00:15:59,080 --> 00:16:03,450 Έτσι ώστε εκτός από τις ιδιότητες ή μεταβλητές που έχουμε δημιουργήσει για το αντικείμενο, 257 00:16:03,450 --> 00:16:05,700 ορίζουμε κάποια μέθοδο. 258 00:16:05,700 --> 00:16:09,720 >> Ας πούμε απλά ότι εδώ έχουμε δύο μεθόδους, το ένα είναι νιαούρισμα, 259 00:16:09,720 --> 00:16:12,460 ένα άλλο είναι κυνηγητό ποντίκι. 260 00:16:12,460 --> 00:16:18,600 Εμείς μάλλον θέλουν να περνάει από το παραμέτρων με βάση την προηγούμενη μέθοδο μας 261 00:16:18,600 --> 00:16:20,440 μοτίβο δήλωση. 262 00:16:20,440 --> 00:16:22,160 Θέλετε πιθανώς να είναι περνώντας το ποντίκι. 263 00:16:22,160 --> 00:16:25,180 Και θα θελήσετε πιθανώς να επιστρέψει μια σημασιοδοτικών bool 264 00:16:25,180 --> 00:16:30,010 αν η γάτα σας έχει επιτυχώς έπιασε το ποντίκι ή όχι. 265 00:16:30,010 --> 00:16:33,170 >> Πρόκειται για τη διεπαφή, αλλά μπορούμε βλέπουμε ότι η διεπαφή πραγματικά 266 00:16:33,170 --> 00:16:35,150 δεν κάνει τίποτα. 267 00:16:35,150 --> 00:16:40,800 Λέει απλώς ένα πρόγραμμα τι exists-- τι υπάρχει στην κατηγορία γάτα. 268 00:16:40,800 --> 00:16:43,640 Έτσι, προκειμένου για την πρόγραμμα για να κάνει κάτι, 269 00:16:43,640 --> 00:16:46,680 πρέπει να έχουμε τα αρχεία της εφαρμογής. 270 00:16:46,680 --> 00:16:51,940 Μέχρι εδώ, το πρώτο πράγμα που κάνουμε είναι προφανώς εισάγουμε το περιβάλλον. 271 00:16:51,940 --> 00:16:56,470 Αφού εισάγουμε το περιβάλλον, ορίζουμε τη μέθοδο. 272 00:16:56,470 --> 00:17:00,150 >> Ας πούμε εδώ νιαούρισμα απλά θα εκτυπώσετε 273 00:17:00,150 --> 00:17:01,740 "Hello World!" στην κονσόλα. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 Και μετά την εφαρμογή αρχείο, είμαστε λίγο πολύ γίνεται. 276 00:17:08,460 --> 00:17:14,530 Αυτό είναι βασικά μια κατηγορία δήλωση για μία κατηγορία. 277 00:17:14,530 --> 00:17:19,970 Μέχρι τώρα η ερώτηση γίνεται, πώς μπορείτε να δηλώσετε μια μεταβλητή; 278 00:17:19,970 --> 00:17:26,880 Ο τρόπος που χρησιμοποιείτε μια τάξη για να δημιουργήσετε ένα αντικείμενο του στόχου C είναι γραμμένο εδώ. 279 00:17:26,880 --> 00:17:30,730 >> Μπορείτε πρώτα να προσδιορίσει ότι αυτό είναι ένας δείκτης γάτα, 280 00:17:30,730 --> 00:17:38,700 γιατί κάθε αντικείμενο του στόχου C τελικά υλοποιηθεί ως ένα δείκτη. 281 00:17:38,700 --> 00:17:46,210 Και σας καλούν την τάξη, τους καλούν ως αΐΐοο, η οποία είναι βασικά malloc, 282 00:17:46,210 --> 00:17:51,220 λέει το λειτουργικό σύστημα που χρειάζεται λίγο χώρο μνήμης για αυτό το αντικείμενο. 283 00:17:51,220 --> 00:17:55,780 Μετά από αυτό έχετε ένα αντικείμενο ήδη και απλά να γίνει η προετοιμασία. 284 00:17:55,780 --> 00:17:56,780 Αυτό είναι ακριβώς σύμβασης. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Ξέρω ότι είναι λίγο παράξενο, αλλά Αυτό είναι στην πραγματικότητα το πώς η Apple κάνει πράγματα. 287 00:18:04,410 --> 00:18:07,130 >> Εκχώρηση ιδιότητες πραγματικά αρκετά απλή. 288 00:18:07,130 --> 00:18:09,250 Είναι πολύ παρόμοια με τι κάνεις όταν 289 00:18:09,250 --> 00:18:13,780 είστε ανάθεση κάποια συγκεκριμένη πεδίο στο εσωτερικό του struct. 290 00:18:13,780 --> 00:18:16,830 Απλά έχουν την μεταβλητή , την ονομασία της ιδιοκτησίας, 291 00:18:16,830 --> 00:18:20,140 και να ορίσετε μια συγκεκριμένη αξία. 292 00:18:20,140 --> 00:18:24,120 Και κλήση μιας μεθόδου είναι πολύ παρόμοια. 293 00:18:24,120 --> 00:18:29,080 Η κλήση μέθοδος είναι βασικά αυτό που μιλώ για 294 00:18:29,080 --> 00:18:32,390 για να καλέσει οποιαδήποτε μέθοδο του Στόχου Γ 295 00:18:32,390 --> 00:18:36,660 >> Είσαι πέρασμα ενός αντικειμένου, σε περίπτωση αυτή πρόκειται να είναι myCat, 296 00:18:36,660 --> 00:18:42,490 και είστε περνώντας το όνομα της μεθόδου. 297 00:18:42,490 --> 00:18:47,130 Όπως και αν μιλάτε με το αντικείμενο, myCat, που θα πρέπει να νιαούρισμα. 298 00:18:47,130 --> 00:18:48,570 Είναι αρκετά ενδιαφέρον. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Μετά από αυτό, υπάρχει ένα πιο ουσιαστικό πρότυπο σχεδιασμού 301 00:18:55,680 --> 00:18:59,940 ότι πρέπει να μιλήσουμε για πριν πάρει την πραγματική S Κωδικός. 302 00:18:59,940 --> 00:19:03,300 Αυτή πρότυπο σχέδιο ονομάζεται οδηγούμενο από τα γεγονότα προγραμματισμού. 303 00:19:03,300 --> 00:19:09,660 Αυτό είναι επίσης πιθανώς ένα από τα πιο θεμελιώδεις ιδέες στο iOS προγραμματισμού. 304 00:19:09,660 --> 00:19:14,410 >> Έτσι, ίσως δεν ξέρω τι ακριβώς είναι ο προγραμματισμός οδηγούμενο από τα γεγονότα, 305 00:19:14,410 --> 00:19:16,990 αλλά δεν είναι πραγματικά τόσο τρομακτικό. 306 00:19:16,990 --> 00:19:20,400 Λοιπόν, στην πραγματικότητα, έχετε ήδη κάνει αυτό πριν. 307 00:19:20,400 --> 00:19:24,894 Αυτή είναι μία από τις γραμμές που έχετε πιθανώς ήδη γράψει στην τελευταία [δεν ακούγεται] 308 00:19:24,894 --> 00:19:26,810 του CS50, google.maps.event.addListener (δείκτης, 309 00:19:26,810 --> 00:19:27,810 "Κλικ", λειτουργία () {}) :. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Με την κλήση αυτή τη γραμμή σας κατ 'ουσίαν, λέει ο υπολογιστής 312 00:19:37,620 --> 00:19:42,650 ότι κάθε φορά που η εκδήλωση που ονομάζεται "Κλικ" συμβαίνει στο δείκτη, 313 00:19:42,650 --> 00:19:43,630 χρησιμοποιήσετε αυτή τη λειτουργία. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> Αυτό είναι πολύ διαφορετικό από τι κάνετε στο mario.c. 316 00:19:50,950 --> 00:19:56,670 Σε mario.c μπορείτε απλά να εκτελέσετε το πρόγραμμα μια φορά, σας δίνει μια έξοδο, 317 00:19:56,670 --> 00:19:58,590 και τελειώσατε. 318 00:19:58,590 --> 00:20:02,590 Αυτά είναι περίπου όπως ένα προγράμματα πυροβολισμό. 319 00:20:02,590 --> 00:20:05,830 Περιπτώσει, τα προγράμματα με γνώμονα είναι πολύ, πολύ διαφορετική. 320 00:20:05,830 --> 00:20:10,230 Ας φανταστούμε, αν το Facebook είναι ένα πρόγραμμα βολή δεν είναι πραγματικά καλό. 321 00:20:10,230 --> 00:20:13,750 Απλά πηγαίνετε στο Facebook μια φορά και αυτό είναι όλο. 322 00:20:13,750 --> 00:20:16,700 Αυτό σας δίνει κάποια έξοδος και ποτέ δεν το πήρε πίσω. 323 00:20:16,700 --> 00:20:19,380 Ποτέ δεν πήρε τίποτα περισσότερο. 324 00:20:19,380 --> 00:20:23,880 >> Μέχρι εδώ, ειδικά το πρότυπο που χρησιμοποιούμε είναι 325 00:20:23,880 --> 00:20:26,940 οδηγούμενο από τα γεγονότα, έτσι ώστε να κάθε λειτουργία θα 326 00:20:26,940 --> 00:20:31,480 να αλιευθεί με βάση ό, τι γεγονός έχει συμβεί. 327 00:20:31,480 --> 00:20:34,670 Για παράδειγμα, αν έχουμε ένα κουμπί και εμείς καθορίζουμε 328 00:20:34,670 --> 00:20:39,870 ότι κάθε φορά που κάνετε κλικ στο κουμπί, καλέσετε τη λειτουργία που ονομάζεται "Hello World!" 329 00:20:39,870 --> 00:20:47,810 Με αυτόν τον τρόπο μπορούμε πραγματικά διαχειριστούν την λογική λειτουργία 330 00:20:47,810 --> 00:20:50,560 ρέουν σε ένα ιδιαίτερα ευέλικτο τρόπο. 331 00:20:50,560 --> 00:20:55,840 Ο χρήστης μπορεί να κάνει ή να καλέσετε μια συνάρτηση που έχει ήδη συγκληθεί. 332 00:20:55,840 --> 00:20:59,900 Είναι εντελώς βασίζεται σε αυτό που κάνουν οι χρήστες. 333 00:20:59,900 --> 00:21:04,080 >> Έτσι μπορούμε να δούμε ότι αυτό είναι στην πραγματικότητα πολύ καλύτερα από ό, τι mario.c. 334 00:21:04,080 --> 00:21:07,190 Και τα καλά νέα είναι ότι είναι στην πραγματικότητα δεν είναι μια νέα ιδέα. 335 00:21:07,190 --> 00:21:12,140 Εσείς έχετε ήδη κάνει ότι κατά το τελευταίο πρόβλημα που. 336 00:21:12,140 --> 00:21:16,640 Έτσι, στο πλαίσιο του στόχου C υπάρχουν τρία διαφορετικά διαγράμματα 337 00:21:16,640 --> 00:21:19,030 για την εκδήλωση με γνώμονα τον προγραμματισμό. 338 00:21:19,030 --> 00:21:21,970 Το πρώτο διάγραμμα είναι που ονομάζεται ενέργεια στόχου, 339 00:21:21,970 --> 00:21:26,990 όπου μπορείτε να δεσμεύσει ένα κουμπί Τύπου με κάποια λειτουργία. 340 00:21:26,990 --> 00:21:31,590 Ας πούμε απλά, κάθε φορά που κάνετε κλικ κάποια κουμπί, σας καλούν κάποια λειτουργία. 341 00:21:31,590 --> 00:21:33,620 Αυτό είναι πολύ απλή δράση στόχου. 342 00:21:33,620 --> 00:21:35,580 >> Το δεύτερο είναι στην πραγματικότητα η πιο δύσκολη, 343 00:21:35,580 --> 00:21:38,450 αυτό λέγεται αντιπροσωπεία σχετικά με το πρωτόκολλο. 344 00:21:38,450 --> 00:21:41,800 Εμείς πάμε για να εξηγήσει ότι με μεγάλη λεπτομέρεια αργότερα. 345 00:21:41,800 --> 00:21:44,420 Και ο τρίτος τρόπος είναι η ειδοποίηση. 346 00:21:44,420 --> 00:21:46,770 Αυτό δεν είναι πραγματικά πολύ σημαντικό όσον αφορά 347 00:21:46,770 --> 00:21:50,920 όπως είμαστε ενδιαφερόμενο, επειδή η ευκαιρία ότι θα πάμε να χρησιμοποιήσετε την κοινοποίηση 348 00:21:50,920 --> 00:21:53,310 στο τελικό έργο σας είναι αρκετά χαμηλό. 349 00:21:53,310 --> 00:21:56,440 Έτσι θα πάμε να παραλείψετε αυτό το μέρος. 350 00:21:56,440 --> 00:21:59,460 >> Και θα πάμε να βουτήξει σε αντιπροσωπεία σχετικά με το πρωτόκολλο. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Λοιπόν, τι ακριβώς είναι ένα πρωτόκολλο; 353 00:22:04,470 --> 00:22:06,450 Ή τι ακριβώς είναι μια αντιπροσωπεία; 354 00:22:06,450 --> 00:22:09,670 Ας μιλήσουμε για το πρωτόκολλο για να αρχίσει με. 355 00:22:09,670 --> 00:22:13,360 Πρωτόκολλα δεν είναι τίποτα, αλλά τα γεγονότα. 356 00:22:13,360 --> 00:22:19,230 Αλλά αυτά τα γεγονότα δοθεί σας από την Apple για να αρχίσει με. 357 00:22:19,230 --> 00:22:22,640 Για παράδειγμα, δεν είμαι εντελώς βέβαιος πως πολλοί από εσάς 358 00:22:22,640 --> 00:22:27,930 αγόρια χρησιμοποιούν την αρχική της Apple Εφαρμογή ηλεκτρονικού ταχυδρομείου ή μια επαφή, 359 00:22:27,930 --> 00:22:32,180 αλλά κάθε φορά που θα διατρέξετε το τραπέζι και πατήστε το συγκεκριμένο κελί 360 00:22:32,180 --> 00:22:36,130 στο τραπέζι, αυτό είναι ένα γεγονός. 361 00:22:36,130 --> 00:22:38,330 >> Και αν θέλετε να κάνετε Αυτό το γεγονός από τον εαυτό σας, 362 00:22:38,330 --> 00:22:40,410 στην πραγματικότητα είναι λίγο δύσκολο. 363 00:22:40,410 --> 00:22:44,880 Έτσι, η Apple έχει, δεδομένου ότι ακόμη και σε σας έτσι ώστε να μπορείτε απλά να χρησιμοποιήσετε άμεσα 364 00:22:44,880 --> 00:22:49,610 Η εκδήλωση για να κάνουμε κάτι για τη δική σας. 365 00:22:49,610 --> 00:22:52,980 Τα πρωτόκολλα είναι στην πραγματικότητα πραγματικά, πραγματικά χρησιμοποιούνται ευρέως 366 00:22:52,980 --> 00:22:58,320 του Στόχου Γ Καλά στην Πράγματι, κάθε εφαρμογή 367 00:22:58,320 --> 00:23:00,870 έχει κάτι τράβηξε την εφαρμογή των συνέδρων. 368 00:23:00,870 --> 00:23:06,330 Μέσα από λεπτό είναι όλα τα πρωτόκολλα για τη φόρτωση της εφαρμογής. 369 00:23:06,330 --> 00:23:12,470 >> Ας πούμε ότι υπάρχει μια εκδήλωση για την εφαρμογή έκανε φορτίο. 370 00:23:12,470 --> 00:23:18,200 Λοιπόν, τι θα πρέπει να συμβεί αφού έχετε δημιούργησε μια εφαρμογή, αφού ανοίξετε την εφαρμογή, 371 00:23:18,200 --> 00:23:22,630 αφού κλείσετε το app, ή μετά βάλετε το iPhone για να κοιμηθεί. 372 00:23:22,630 --> 00:23:27,480 Αυτά είναι όλα τα γεγονότα που έχει έχουν ήδη δοθεί σε σας. 373 00:23:27,480 --> 00:23:34,730 Και αρχικά στο εσωτερικό αυτών των σωματιδίων δεν θα υπάρξει καμία εφαρμογή. 374 00:23:34,730 --> 00:23:39,750 Η Apple μόλις σας είπα ότι αυτή τη λειτουργία θα συμβεί όταν κάποιο γεγονός που συμβαίνει, 375 00:23:39,750 --> 00:23:44,380 αλλά τι κάνεις με αυτό λειτουργία είναι εντελώς μέχρι σας. 376 00:23:44,380 --> 00:23:49,290 >> Αντιπροσωπεία είναι βασικά λέει την κατηγορία 377 00:23:49,290 --> 00:23:53,060 ότι θα πρέπει να χειριστεί αυτά τα πρωτόκολλα. 378 00:23:53,060 --> 00:23:55,340 Είναι λίγο σύγχυση, αλλά θα είναι 379 00:23:55,340 --> 00:23:59,380 πολύ σαφέστερη όταν κάνουμε Οι κωδικοί s σε δράση. 380 00:23:59,380 --> 00:24:04,760 Αντιπροσωπεία σχετικά με το πρωτόκολλο είναι στην πραγματικότητα μια εξαιρετικά ανθεκτικό μηχανισμό, υπό την έννοια 381 00:24:04,760 --> 00:24:08,160 ότι αν κάνουμε αντιπροσωπεία σε μια συγκεκριμένη τάξη, 382 00:24:08,160 --> 00:24:12,400 μπορούμε να χειριστεί ουσιαστικά όλα τα είδη των εκδηλώσεων 383 00:24:12,400 --> 00:24:17,040 χρησιμοποιώντας οποιαδήποτε κατηγορία που έχουμε, πολύ βολικό εργαλείο. 384 00:24:17,040 --> 00:24:21,530 >> Έτσι, ένα γρήγορο παράδειγμα για αντιπροσωπεία σχετικά με το πρωτόκολλο 385 00:24:21,530 --> 00:24:24,120 θα είναι αυτό που μόλις μίλησα. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Αυτό το πρωτόκολλο ειδικά καλείται TableView [δεν ακούγεται] επιλέξτε ρόλο 388 00:24:30,890 --> 00:24:35,480 σε [? δείκτης?] [? παρελθόν. ?] Έτσι, αυτό το ένα γεγονός που θα μπορούσε να πιαστεί όταν 389 00:24:35,480 --> 00:24:39,710 πραγματικά χτυπήστε σε ένα συγκεκριμένο κυττάρων σε TableView σας, 390 00:24:39,710 --> 00:24:43,570 ας πούμε στο e-mail σας ή στις επαφές της εφαρμογής σας. 391 00:24:43,570 --> 00:24:48,180 >> Μέσα σε μια λειτουργία ήταν εκεί αρχικά να μην κάνουμε τίποτα. 392 00:24:48,180 --> 00:24:51,950 Η λειτουργία δεν κάνει τίποτα από προεπιλογή. 393 00:24:51,950 --> 00:24:55,540 Αλλά μπορείτε να καθορίσετε τι κάνει η λειτουργία, 394 00:24:55,540 --> 00:24:59,610 δεδομένου τι θέλετε από την εφαρμογή σας. 395 00:24:59,610 --> 00:25:01,610 Πολύ βολικό εργαλείο. 396 00:25:01,610 --> 00:25:06,840 Και με όλα αυτά που Τούτου λεχθέντος, εγώ βασικά 397 00:25:06,840 --> 00:25:11,430 καλύπτουν κάποια πολύ βασική σύνταξη και θεμελιώδης ιδέα για το στόχο Γ 398 00:25:11,430 --> 00:25:15,860 προγραμματισμού, και μπορούμε να κάνουμε κάποια κωδικός s. 399 00:25:15,860 --> 00:25:17,980 Πολύ πιο συναρπαστικό. 400 00:25:17,980 --> 00:25:21,070 Έτσι ο κώδικας του είναι στην πραγματικότητα μια λίγο συντριπτική 401 00:25:21,070 --> 00:25:23,330 όταν το ανοίγετε για πρώτη φορά. 402 00:25:23,330 --> 00:25:26,640 >> Μια γρήγορη σημείωση, οπότε αν έχετε θέλουν να κάνουν το iOS ανάπτυξη, 403 00:25:26,640 --> 00:25:29,630 Σας το συνιστώ να έχετε ένα Mac. 404 00:25:29,630 --> 00:25:33,930 Επειδή κάνει iOS ανάπτυξης Windows είναι πραγματικά, πραγματικά σκληρά. 405 00:25:33,930 --> 00:25:37,560 Είναι εφικτό, αλλά είναι πολύ δύσκολο. 406 00:25:37,560 --> 00:25:40,610 Και σίγουρα κάνει δεν θέλετε να χρησιμοποιήσετε g επεξεργαστείτε. 407 00:25:40,610 --> 00:25:47,950 Έτσι, σε s κώδικα που έχουμε πολλές διαφορετικές περιοχές. 408 00:25:47,950 --> 00:25:53,050 Όταν ανοίγετε για πρώτη φορά μέχρι ο κώδικας του θα δείτε μια περιοχή πλοήγησης, 409 00:25:53,050 --> 00:25:57,470 που βασικά σας δείχνει όλα τα αρχεία που είναι το τρέχον έργο σας. 410 00:25:57,470 --> 00:26:03,590 >> Έχετε μια περιοχή της γραμμής εργαλείων, η οποία βασικά διαχείριση θέα, 411 00:26:03,590 --> 00:26:08,570 ή κάποια μικρή γρήγορη εργαλεία για s ίδιο τον κώδικα. 412 00:26:08,570 --> 00:26:11,140 Και αυτή είναι η πραγματική έκταση του επεξεργαστή. 413 00:26:11,140 --> 00:26:15,900 Αυτή η περιοχή είναι πολύ παρόμοια g επεξεργασία, αλλά πολύ καλύτερα από ό, τι g επεξεργαστείτε. 414 00:26:15,900 --> 00:26:21,150 Και σε αυτή την δεξιά περιοχή, είναι ονομάζεται βοηθητικό χώρο. 415 00:26:21,150 --> 00:26:27,170 Η περιοχή γίνεται πολύ βολικό όταν είστε δημιουργία διεπαφής ή προσδιορίζοντας 416 00:26:27,170 --> 00:26:30,070 μερικές γρήγορες ρυθμίσεις για την εφαρμογή σας. 417 00:26:30,070 --> 00:26:34,570 >> Και ο τελευταίος τομέας είναι η αποσφαλμάτωση. 418 00:26:34,570 --> 00:26:37,970 Η περιοχή αυτή περιλαμβάνει την κονσόλα. 419 00:26:37,970 --> 00:26:43,170 Έτσι, κάθε φορά που λέτε printf, ή nslog στην περίπτωσή μας, 420 00:26:43,170 --> 00:26:47,330 όλα τα αποτελέσματα σας πρόκειται να εκτυπωθεί εδώ. 421 00:26:47,330 --> 00:26:48,260 Εντάξει; 422 00:26:48,260 --> 00:26:52,090 Υποθέτω ότι μπορούμε πραγματικά να κάνουμε γρήγορα ένα παράδειγμα για το iOS προγραμματισμού. 423 00:26:52,090 --> 00:26:54,220 Και ας ανοίξουμε πραγματικά μέχρι ο κώδικας του. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Έτσι, κάθε φορά που θα ανοίξει ο κώδικας του, είναι πρόκειται να δείξει κάτι τέτοιο. 426 00:27:01,346 --> 00:27:03,220 Δεν πρόκειται να σας ρωτήσω Τι θέλετε να κάνετε; 427 00:27:03,220 --> 00:27:06,830 Θέλετε να ξεκινήσετε κάτι τυχαία, μια παιδική χαρά, βασικά σας 428 00:27:06,830 --> 00:27:11,250 μπορεί να δοκιμάσει μόνο κώδικα χωρίς πραγματικά δέσμευση για οποιαδήποτε εφαρμογή. 429 00:27:11,250 --> 00:27:13,020 >> Θέλετε να δημιουργήσετε ένα νέο έργο; 430 00:27:13,020 --> 00:27:16,660 Ή μήπως θέλετε να συνεχίσετε εργάζονται για το υφιστάμενο έργο; 431 00:27:16,660 --> 00:27:20,270 Στην περίπτωσή μας θα πάμε για να δημιουργήσετε ένα νέο έργο. 432 00:27:20,270 --> 00:27:22,980 Γι 'αυτό είναι πολύ ωραίο, το S κώδικας έχει ήδη πραγματικότητα 433 00:27:22,980 --> 00:27:26,820 Σας δίνονται ορισμένα πρότυπα για τη δημιουργία αντικειμένων. 434 00:27:26,820 --> 00:27:32,680 Αν θέλετε να κάνετε ένα παιχνίδι, κωδικός έχει στην πραγματικότητα ένα πρότυπο παιχνίδι για εσάς, 435 00:27:32,680 --> 00:27:36,890 έχει σελίδα based εφαρμογές, καρτέλα based εφαρμογή. 436 00:27:36,890 --> 00:27:39,280 Σε αυτή την περίπτωση, θα πάμε να κάνουμε κάτι πολύ απλό, 437 00:27:39,280 --> 00:27:43,230 και θα πάμε να χρησιμοποιήσετε ένα ενιαία εφαρμογή άποψη. 438 00:27:43,230 --> 00:27:48,270 >> Μετά από αυτό ακριβώς τι θέλετε να καλέσετε το προϊόν σας, και ποιο είναι το όνομα σας, 439 00:27:48,270 --> 00:27:52,760 τι είναι το αναγνωριστικό σας, και Ποια γλώσσα χρησιμοποιείτε. 440 00:27:52,760 --> 00:27:57,060 Εδώ δεν θέλουμε να ελέγχει τη χρήση βασικών στοιχείων. 441 00:27:57,060 --> 00:28:00,170 Βασικά στοιχεία είναι βασικά μια databasing iOS. 442 00:28:00,170 --> 00:28:05,360 Αν κάνετε Βασικών Δεδομένων, s κώδικας πρόκειται να καθορίσει 443 00:28:05,360 --> 00:28:07,710 μια πολύ πιο περίπλοκη μαθήματα για σας. 444 00:28:07,710 --> 00:28:12,740 Έτσι για να κρατήσει τα πάντα απλά, είμαστε ακριβώς πρόκειται να κάνει χωρίς Βασικών Δεδομένων 445 00:28:12,740 --> 00:28:15,290 αυτή τη στιγμή. 446 00:28:15,290 --> 00:28:18,030 >> Το πρόβλημα θα πάμε να είναι χρησιμοποιείτε είναι that-- το πρόβλημα 447 00:28:18,030 --> 00:28:23,770 θα πάμε να δημιουργήσει είναι ότι εμείς βασικά θέλουν να εισάγουν Mario από C 448 00:28:23,770 --> 00:28:25,437 σε μια iOS app. 449 00:28:25,437 --> 00:28:26,645 Έτσι, ας την ονομάσουμε ότι ο Mario-iOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Φυσικά θα καθορίσετε τι θέλετε να βάλετε στο έργο σας. 452 00:28:34,880 --> 00:28:37,870 Και εκεί θα πάμε. 453 00:28:37,870 --> 00:28:41,390 >> Έτσι, αυτό είναι λίγο συντριπτική, αλλά αυτό είναι πραγματικά 454 00:28:41,390 --> 00:28:43,540 αυτό που μόλις είδα στις διαφάνειες. 455 00:28:43,540 --> 00:28:49,710 Και η πρώτη περιοχή που βλέπουμε τώρα είναι βασικά διαμόρφωση του έργου. 456 00:28:49,710 --> 00:28:53,390 Έτσι, ό, τι θέλετε να κάνετε του έργου, το είδος της συσκευής, 457 00:28:53,390 --> 00:28:58,810 ας πούμε το είδος της συσκευής θέλετε η εφαρμογή σας να εμφανίζονται; 458 00:28:58,810 --> 00:29:01,280 Είναι το iPhone, το iPad ή καθολική; 459 00:29:01,280 --> 00:29:04,660 Έτσι ο προσανατολισμός της συσκευής, όλα αυτά τα πράγματα. 460 00:29:04,660 --> 00:29:08,490 Δεν είναι πολύ σημαντική, αλλά θα μπορούσε να είναι, αλλά αυτό 461 00:29:08,490 --> 00:29:11,050 Είναι ένα μέρος όπου μπορείτε να συσταθεί του έργου σας, αν πραγματικά 462 00:29:11,050 --> 00:29:15,180 θέλουν να αναπτύξουν στο κατάστημα της Apple. 463 00:29:15,180 --> 00:29:20,420 >> Εντάξει, ας δούμε κάτι που είναι μέσα μας κώδικα. 464 00:29:20,420 --> 00:29:22,360 Ας πάμε μέσα από τον πλοηγό αρχείων. 465 00:29:22,360 --> 00:29:30,140 Και αυτά είναι όλα τα αρχεία που έχουν ήδη ήρθε με το πρότυπο, πολύ ωραία. 466 00:29:30,140 --> 00:29:35,980 Έτσι, όταν κάνετε κλικ σε ένα από αυτά Αυτό είναι τι μοιάζει. 467 00:29:35,980 --> 00:29:38,530 Πολύ παρόμοια με g επεξεργαστείτε. 468 00:29:38,530 --> 00:29:41,340 Αλλά μπορείτε να δείτε ότι το τονισμό σύνταξης είναι πιθανώς 469 00:29:41,340 --> 00:29:42,780 λίγο καλύτερο. 470 00:29:42,780 --> 00:29:45,610 Και αυτό είναι στην πραγματικότητα πολύ πιο ισχυρή από ό, ζ μοντάζ. 471 00:29:45,610 --> 00:29:49,970 Και μπορείτε να αυτόματη συμπλήρωση πολλά πράγματα για σας, 472 00:29:49,970 --> 00:29:52,370 όπως θα δούμε πολύ γρήγορα. 473 00:29:52,370 --> 00:29:54,100 >> Ας ανοίξουμε την περιοχή εντοπισμού σφαλμάτων, καθώς και. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Εντάξει, όπως μπορούμε να δούμε, η κονσόλα είναι ακριβώς εδώ. 476 00:30:07,000 --> 00:30:13,840 Αυτό είναι ό, τι θα πάμε να δούμε πού είστε σε printf ή nsloging κάτι. 477 00:30:13,840 --> 00:30:17,155 Έτσι, χωρίς άλλη καθυστέρηση, ας πραγματικότητα συγκεντρώνουν το app και να δούμε τι θα συμβεί. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Ένα βασικό χαρακτηριστικό για ο κώδικας του, είναι ότι ο κωδικός s 480 00:30:23,410 --> 00:30:25,850 έρχεται με μια προσομοίωση το iPhone. 481 00:30:25,850 --> 00:30:29,820 Έτσι, δεν χρειάζεται να έχουν μια iPhone για να δοκιμάσετε το έργο σας, 482 00:30:29,820 --> 00:30:34,440 s κώδικας μπορεί να προσομοιώσει ότι για σας, όπως μπορούμε να δούμε τώρα. 483 00:30:34,440 --> 00:30:36,406 >> Είναι πολύ ωραίο. 484 00:30:36,406 --> 00:30:38,640 Πήρε πολύ λίγο λίγο χρόνο για να μεταγλωττίσετε 485 00:30:38,640 --> 00:30:43,040 και ουσιαστικά έχουμε ένα άδειο εφαρμογή, 486 00:30:43,040 --> 00:30:44,640 η οποία στην πραγματικότητα δεν κάνει τίποτα. 487 00:30:44,640 --> 00:30:46,175 Αλλά συγκεφαλαιώνει. 488 00:30:46,175 --> 00:30:47,380 Είναι αρκετά φοβερό. 489 00:30:47,380 --> 00:30:50,200 Είναι πολύ καλύτερα από ό, C, ε; 490 00:30:50,200 --> 00:30:52,130 Εντάξει, τότε ας προσπαθήστε να προσθέσω κάτι. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Ένα αρχείο που είναι λίγο παράξενο εδώ ονομάζεται storyboard. 493 00:31:02,650 --> 00:31:08,020 Αυτό είναι πράγματι μια μεγάλη, φοβερό χαρακτηριστικό για s κώδικα. 494 00:31:08,020 --> 00:31:14,170 Επειδή σε s κώδικα, μπορείτε πραγματικά να σύρετε and drop τα στοιχεία πάνω στο περιβάλλον 495 00:31:14,170 --> 00:31:17,430 και θα δείξει κατευθείαν επάνω. 496 00:31:17,430 --> 00:31:18,055 Ας το δοκιμάσουμε. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Έχουμε ρίξει μια ετικέτα εδώ, "Hello World !!!" 499 00:31:27,236 --> 00:31:29,740 Μπορούμε να το κέντρο αυτό. 500 00:31:29,740 --> 00:31:30,970 Αξίζει να το δεις. 501 00:31:30,970 --> 00:31:33,915 Τώρα ας τρέχει αυτή την προσομοίωση στάση. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Εδώ έχουμε "Hello World !!!" 504 00:31:38,700 --> 00:31:40,810 Εμείς δεν κάνουμε καν κωδικοποίηση ακόμα. 505 00:31:40,810 --> 00:31:42,750 Τι στο καλό συμβαίνει; 506 00:31:42,750 --> 00:31:45,880 Αυτό είναι πόσο ισχυρό Interface Builder μπορεί να είναι. 507 00:31:45,880 --> 00:31:48,030 Κάποιος είπε ακόμη ότι μπορείτε πιθανώς μόνο 508 00:31:48,030 --> 00:31:52,800 ολοκληρώσει μια εφαρμογή χωρίς γραπτή πιθανώς χιλιάδες γραμμές κώδικα 509 00:31:52,800 --> 00:31:54,820 απλά με τη χρήση του Builder Interface. 510 00:31:54,820 --> 00:31:59,680 Αλλά δεν είναι πιθανόν ο καλύτερος τρόπος για να το κάνουμε. 511 00:31:59,680 --> 00:32:01,670 >> Τώρα ας πραγματικά πιάσουμε κωδικοποίησης. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Έτσι, η δομή του αρχείου Είναι πραγματικά πολύ ενδιαφέρον 514 00:32:08,330 --> 00:32:15,610 γιατί, όπως μπορείτε να δείτε, υπάρχουν δεν είναι η κύρια λειτουργία οπουδήποτε. 515 00:32:15,610 --> 00:32:17,466 Βλέπεις; 516 00:32:17,466 --> 00:32:19,340 Όπως αναφέραμε και πριν, μπορείτε να δείτε ότι αυτό 517 00:32:19,340 --> 00:32:22,830 είναι ένα αρχείο εφαρμογής για μια συγκεκριμένη κατηγορία. 518 00:32:22,830 --> 00:32:25,690 Αλλά δεν υπάρχει καμία κύρια πουθενά. 519 00:32:25,690 --> 00:32:27,490 Λοιπόν, πού είναι ο κύριος; 520 00:32:27,490 --> 00:32:31,970 Στην πραγματικότητα, υπάρχει ένα κύριο, αλλά η κύριος είναι πραγματικά κρυμμένο από σας. 521 00:32:31,970 --> 00:32:34,560 Το κύριο είναι εδώ. 522 00:32:34,560 --> 00:32:37,120 Αυτό μου θυμίζει. 523 00:32:37,120 --> 00:32:41,000 >> Έτσι, βασικά, τι iOS κάνει μέσα στον κεντρικό 524 00:32:41,000 --> 00:32:43,540 είναι ότι κάθε φορά που είναι κύριος ονομάζεται, το οποίο είναι βασικά 525 00:32:43,540 --> 00:32:49,000 κάθε φορά που η εφαρμογή εκτελείται, αυτό δημιουργεί ένα αντικείμενο που ονομάζεται AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Όπως ανέφερα και πριν, το σύνολο app είναι πραγματικά ένα αντικείμενο από μόνη της. 528 00:32:57,350 --> 00:33:02,270 Έτσι, με αυτόν τον τρόπο, βασικά η iOS app λέει ο compiler 529 00:33:02,270 --> 00:33:05,540 Εντάξει, θα πάω να δημιουργήσουν ένα προϊόν που ονομάζεται AppDelegate, 530 00:33:05,540 --> 00:33:07,620 και ότι πρόκειται να είναι το app μου. 531 00:33:07,620 --> 00:33:09,640 Έτσι, θα πρέπει να πάτε μέσω αυτής της AppDelegate 532 00:33:09,640 --> 00:33:12,040 και να δούμε τι αυτός ο τύπος κάνει. 533 00:33:12,040 --> 00:33:14,850 Η δουλειά μου έχει κάνει για μένα. 534 00:33:14,850 --> 00:33:22,070 >> Και σε AppDelegate μπορείτε να δείτε ότι υπάρχουν κάποια πραγματικά περίεργο λειτουργίες, 535 00:33:22,070 --> 00:33:25,290 Καλά στην πραγματικότητα μεθόδους, ότι Η Apple έχει ήδη δώσει. 536 00:33:25,290 --> 00:33:27,464 Ποιες είναι αυτές; 537 00:33:27,464 --> 00:33:31,010 Αυτά είναι πραγματικά απλά πρωτόκολλα ότι μιλούσα για. 538 00:33:31,010 --> 00:33:35,670 Έτσι, αυτά είναι γεγονότα που η Apple σας έχει δοθεί για να αρχίσει με. 539 00:33:35,670 --> 00:33:38,050 Δεν υπάρχει τίποτα σε ορισμένες των λειτουργιών τώρα, 540 00:33:38,050 --> 00:33:40,820 αλλά αν θέλουμε να προετοιμαστεί κάτι για το app μας 541 00:33:40,820 --> 00:33:46,140 πριν μπουν στην εμφάνιση κάθε άποψη, το κάνουμε αυτό εδώ. 542 00:33:46,140 --> 00:33:51,150 >> Μπορείτε να διαβάσετε μόνο το όνομα και υποθέτω Η εκδήλωση είναι πραγματικά πολύ σαφής. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Μέχρι τώρα η κύρια δημιούργησε ένα αντικείμενο για AppDelegate. 545 00:33:58,350 --> 00:34:05,220 Και τι AppDelegate πρόκειται να κάνει είναι στην πραγματικότητα κρύβεται επίσης από εσάς. 546 00:34:05,220 --> 00:34:09,250 Η AppDelegate πρόκειται να αρχίσει φόρτωση του αποθέματος ViewController. 547 00:34:09,250 --> 00:34:13,170 Έτσι είναι βασικά πρόκειται να ξεκινήσει φόρτωση όλες τις απόψεις που έχετε 548 00:34:13,170 --> 00:34:17,500 και μόνο καθιστούν τη θέα με βάση την ιεραρχία. 549 00:34:17,500 --> 00:34:21,280 >> Έτσι, σε αυτή την περίπτωση έχουμε μόνο μία άποψη, η οποία είναι εδώ. 550 00:34:21,280 --> 00:34:25,060 Έτσι, αυτή είναι η μόνη άποψη ότι πρόκειται να κληθεί. 551 00:34:25,060 --> 00:34:28,159 Η λογική ViewController είναι ακριβώς εδώ. 552 00:34:28,159 --> 00:34:32,159 Αυτός είναι ο κωδικός που πράγματι ελέγχει την άποψη που μόλις είδαμε. 553 00:34:32,159 --> 00:34:33,679 Εντάξει, ας κάνουμε κάτι εδώ. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Έτσι viewDidLoad ακούγεται σαν ένα γεγονός, όταν στην πραγματικότητα αυτό είναι επίσης ένας εκπρόσωπος, 556 00:34:50,560 --> 00:34:52,500 Αυτό είναι επίσης ένα πρωτόκολλο. 557 00:34:52,500 --> 00:34:56,350 >> Έτσι, ανεξάρτητα από την άποψη είναι φορτωμένο, πάντα μέσα στη συνάρτηση 558 00:34:56,350 --> 00:34:57,920 θα ονομάζεται. 559 00:34:57,920 --> 00:35:02,840 Σε αυτή την περίπτωση θα πρέπει να δείτε το "Hello Tianyu! "Αν τρέξουμε το πρόγραμμα. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 Είναι να πάρει λίγο αργή κατάρτιση storyboard αρχεία. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 Λοιπόν πράγματι, μπορούμε να δούμε μια έξοδο για αυτό. 564 00:35:18,190 --> 00:35:20,720 Είναι αρκετά δροσερό. 565 00:35:20,720 --> 00:35:22,000 Τώρα ας κάνουν πραγματικά Mario. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Πάω να καθορίσει το λειτουργεί πολύ γρήγορα. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: αποτελέσματα (int) επίπεδο. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> Εντάξει, αυτό είναι πραγματικά το φοβερό χαρακτηριστικό του s αυτόματη συμπλήρωση κώδικα. 572 00:36:06,410 --> 00:36:10,680 Έτσι, όταν γράφετε για και πληκτρολογήστε εισέλθουν, έχει ήδη παραιτηθεί από το πρότυπο 573 00:36:10,680 --> 00:36:12,325 για σας, το οποίο είναι αρκετά δροσερό. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 Αυτό θα πρέπει να δούμε πραγματικά γνωστά σε σας παιδιά. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 Συγγνώμη, αυτό είναι δικό μου λάθος. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Εντάξει, δροσερό. 580 00:37:18,120 --> 00:37:22,710 Αυτή η λογική θα πρέπει να δούμε πραγματικά εξοικειωμένοι για σας παιδιά, ειδικά μόλις Mario. 581 00:37:22,710 --> 00:37:26,140 >> Αλλά θα εμφανίσει το εξής να η κονσόλα κάθε φορά, 582 00:37:26,140 --> 00:37:29,280 γιατί θέλουμε να κρατήσουμε κάπως κομμάτι του τι είμαστε εκτύπωση. 583 00:37:29,280 --> 00:37:31,810 Εμείς πάμε για να χρησιμοποιήσετε το προκύπτει κάπως αργότερα, 584 00:37:31,810 --> 00:37:35,010 για να εμφανιστεί το Εκτύπωση έξω ως αποτέλεσμα για τον χρήστη. 585 00:37:35,010 --> 00:37:37,730 Έτσι, αντί να είμαστε μόνο nslogging τα πάντα, 586 00:37:37,730 --> 00:37:42,410 την οποία είμαστε πάντα αποθήκευση σε ένα αποτέλεσμα κλήση της συνάρτησης, 587 00:37:42,410 --> 00:37:44,070 αλλά η λογική είναι ακριβώς η ίδια. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Αφού αυτό, έχουμε τελειώσει απλά να εκτυπώσετε τα αποτελέσματά μας. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> Και εδώ αντί να τα εκτυπώνει έξω μου όνομα, θα πάμε να καλέσετε μια συνάρτηση. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Ας δούμε τι θα συμβεί. 594 00:38:18,090 --> 00:38:21,240 Ωχ, προφανώς. 595 00:38:21,240 --> 00:38:24,320 Έχουμε ένα ωραίο μικρή πυραμίδα από εδώ. 596 00:38:24,320 --> 00:38:28,370 Αυτό είναι βασικά C, είμαστε απλά χειρισμό όπου μπορείτε να καλέσετε μια συνάρτηση 597 00:38:28,370 --> 00:38:30,010 και πώς μια λειτουργία μοιάζουν. 598 00:38:30,010 --> 00:38:31,560 Δεν υπάρχει τίποτα διαφορετικό. 599 00:38:31,560 --> 00:38:34,040 Αλλά αυτό είναι πραγματικά δεν είναι πολύ συναρπαστικό εδώ, 600 00:38:34,040 --> 00:38:37,500 γιατί εμείς δεν βλέπουμε τίποτα από το iPhone app. 601 00:38:37,500 --> 00:38:42,120 >> Έτσι, εάν έχετε πραγματικά ένα iPhone app-- εάν έχετε πραγματικά Mario iOS δεξιά 602 00:38:42,120 --> 00:38:45,080 τώρα, εσείς δεν πρόκειται για να δούμε κάτι που να 603 00:38:45,080 --> 00:38:49,450 έχει τίποτα να κάνει με τον Mario, επειδή όλες αυτές οι έξοδοι σε μια κονσόλα 604 00:38:49,450 --> 00:38:51,620 είναι κρυμμένα από το χρήστη. 605 00:38:51,620 --> 00:38:53,850 Αυτό είναι ό, τι βλέπεις, η οποία είναι "Hello World !!!" 606 00:38:53,850 --> 00:38:55,720 Δεν είναι καλό. 607 00:38:55,720 --> 00:39:03,090 Τώρα ας προσπαθήσουμε να κάνουν το χρήστη να δει τι ακριβώς είμαστε εκτύπωση. 608 00:39:03,090 --> 00:39:06,000 Γι 'αυτό και δεν χρειάζεται να ονομάσει πια. 609 00:39:06,000 --> 00:39:09,800 Ας προσπαθήσουμε και να καταλάβω κάτι άλλο που θα μπορούσε να είναι χρήσιμη. 610 00:39:09,800 --> 00:39:12,140 >> Υπάρχει πράγματι ένα στοιχείο που ονομάζεται 611 00:39:12,140 --> 00:39:16,460 πεδίο κειμένου, το οποίο θα μπορούσε είναι πολύ χρήσιμο για εμάς. 612 00:39:16,460 --> 00:39:19,880 Εμφανίζει βασικά μια περιοχή του κειμένου που μπορεί να επεξεργαστεί. 613 00:39:19,880 --> 00:39:22,320 Έτσι ώστε να φαίνεται πραγματικά χρήσιμη. 614 00:39:22,320 --> 00:39:23,810 Τώρα ας το drag and drop αυτό. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Πω πω, έχουμε μια προβολή κειμένου κατά την άποψή μας, πολύ φανταχτερό. 617 00:39:32,670 --> 00:39:35,430 Αυτό είναι ένα μικρό κομμάτι πάρα πολύ μεγάλο. 618 00:39:35,430 --> 00:39:38,150 Ας το κάνουμε μικρότερα. 619 00:39:38,150 --> 00:39:40,290 Βάλτε το σε κέντρο. 620 00:39:40,290 --> 00:39:43,760 Κάντε το μικρότερο, καθώς και. 621 00:39:43,760 --> 00:39:50,110 >> Τώρα έχουμε μια προβολή κειμένου, το οποίο θα μπορούσαμε να χρησιμοποιηθεί για την εμφάνιση τελικό αποτέλεσμα μας. 622 00:39:50,110 --> 00:39:52,860 Αλλά τώρα είναι Σίγουρα δεν πρόκειται να λειτουργήσει 623 00:39:52,860 --> 00:39:56,970 επειδή υπάρχει ο no-- ViewController εμείς απλά 624 00:39:56,970 --> 00:40:03,010 ορίζεται δεν γνωρίζει ότι υπάρχει μια προβολή κειμένου εκεί έξω. 625 00:40:03,010 --> 00:40:06,550 Γι 'αυτό και πρέπει με κάποιο τρόπο να συνδέουν την προβολή κειμένου που μόλις 626 00:40:06,550 --> 00:40:11,660 δημιουργήθηκε με την κατηγορία ότι έχει ήδη έρθει μαζί μας. 627 00:40:11,660 --> 00:40:14,860 >> Ο τρόπος που το κάνουμε αυτό είναι πραγματικά πολύ μαγικό. 628 00:40:14,860 --> 00:40:18,190 Έτσι ανοίξει storyboard. 629 00:40:18,190 --> 00:40:22,220 Υπάρχει μια ειδική [δεν ακούγεται] που ονομάζεται [? βοηθός;] [δεν ακούγεται]. 630 00:40:22,220 --> 00:40:25,190 Όταν κάνετε κλικ σε αυτό, είναι πρόκειται να ανοίξει δύο αρχεία. 631 00:40:25,190 --> 00:40:29,425 Ένας είναι μια κατηγορία και ο άλλος είναι μία αντίστοιχη όψη για αυτό. 632 00:40:29,425 --> 00:40:31,920 Είναι πολύ, πολύ χρήσιμη. 633 00:40:31,920 --> 00:40:35,950 Και ας πηγαίνει μόνο μέσα από το αρχείο .h. 634 00:40:35,950 --> 00:40:39,110 Ελέγχου, αυτό είναι [δεν ακούγεται] λογική. 635 00:40:39,110 --> 00:40:47,280 Πατήστε Control και σύρετε το προβολή κειμένου σε δήλωση. 636 00:40:47,280 --> 00:40:48,780 Εμείς πάμε για να καλέσετε αυτόν τον outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Συνδέστε. 639 00:40:53,670 --> 00:40:59,420 Έτσι, εδώ έχουμε κηρυχθεί μια νέα ιδιοκτησίας για την κατηγορία ViewController μας. 640 00:40:59,420 --> 00:41:02,300 Και η νέα ιδιοκτησία είναι μόνο η προβολή κειμένου 641 00:41:02,300 --> 00:41:05,000 έχουμε δημιουργήσει στο κτίριο διεπαφής. 642 00:41:05,000 --> 00:41:07,990 Έτσι, με αυτόν τον τρόπο θα μπορούσαμε να πρόσβαση σε όλα τα δεδομένα 643 00:41:07,990 --> 00:41:13,630 και να χειριστούν ό, τι είναι μέσα η άποψη της παραγωγής, το οποίο είναι φοβερό. 644 00:41:13,630 --> 00:41:19,260 >> Έτσι, στην πραγματικότητα μας κώδικα, ας κάνουμε κάτι με αυτό. 645 00:41:19,260 --> 00:41:23,810 Έτσι, αυτή τη φορά, όταν είμαστε όπως εκτύπωση έξω από το τελικό αποτέλεσμα για τον Mario, 646 00:41:23,810 --> 00:41:28,020 είμαστε σε τίποτα δεν υλοτομία. 647 00:41:28,020 --> 00:41:30,080 Εννοώ θα μπορούσε να κρατήσει η δήλωση υλοτομία. 648 00:41:30,080 --> 00:41:41,490 Επιπλέον προς αυτό, Πίσω από την ανάγνωση απλά 649 00:41:41,490 --> 00:41:47,622 που δημιουργήθηκε με την άποψη της παραγωγής, η οποία είναι ένα UI TextView που μόλις δημιουργήσαμε. 650 00:41:47,622 --> 00:41:48,746 Τώρα ας δούμε τι θα συμβεί. 651 00:41:48,746 --> 00:41:54,470 652 00:41:54,470 --> 00:41:56,620 Πω πω. 653 00:41:56,620 --> 00:41:59,130 Έχουμε μια πυραμίδα στο app τώρα. 654 00:41:59,130 --> 00:42:06,720 >> Έτσι, ο χρήστης μπορεί να δει παραγωγή μας, διότι έχουμε αντιγράψει την έξοδο από τον κωδικό μας 655 00:42:06,720 --> 00:42:08,045 στο περιβάλλον μας. 656 00:42:08,045 --> 00:42:10,950 Είναι αρκετά καλό. 657 00:42:10,950 --> 00:42:14,990 Δεν είναι πραγματικά ότι συναρπαστικό, επειδή εμείς can-- 658 00:42:14,990 --> 00:42:18,250 Όλα τα app που κάνει είναι δείχνει μια πυραμίδα για να σας, 659 00:42:18,250 --> 00:42:20,520 και δεν υπάρχει τίποτα που μπορείτε να κάνετε γι 'αυτό. 660 00:42:20,520 --> 00:42:22,330 Δεν είναι ιδιαίτερα συναρπαστικό. 661 00:42:22,330 --> 00:42:27,840 Έτσι τώρα ας κάνουμε ένα κουμπί ότι θα καθαρίσει τις απόψεις. 662 00:42:27,840 --> 00:42:30,290 Φαίνεται ότι ένα κουμπί θα είναι χρήσιμη. 663 00:42:30,290 --> 00:42:33,270 Drag and drop. 664 00:42:33,270 --> 00:42:33,900 Ένα κουμπί. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Κουμπί δύο. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Έτσι, όταν κάνουμε κλικ στο αριστερό κουμπί, η θέα θα πρέπει να καθαρίσει. 669 00:42:52,052 --> 00:42:53,635 Θα πρέπει να υπάρχει τίποτα στην οθόνη. 670 00:42:53,635 --> 00:42:56,970 Και όταν κάνουμε κλικ στο δεξί πλήκτρο, Mario, 671 00:42:56,970 --> 00:42:59,740 η άποψη αυτή πρόκειται να εμφανιστεί ξανά. 672 00:42:59,740 --> 00:43:05,510 Έτσι, με αυτό τον τρόπο μπορούμε επίσης να κάνουμε το μαγεία πράγματα, τον έλεγχο και σύρετε 673 00:43:05,510 --> 00:43:08,740 στη δήλωση της κλάσης στο βοηθός director-- 674 00:43:08,740 --> 00:43:11,600 στο βοηθητικό θεατή. 675 00:43:11,600 --> 00:43:18,620 Σε αυτή την περίπτωση είμαστε διευκρινίζοντας ότι θα πρέπει να είναι μια δράση. 676 00:43:18,620 --> 00:43:19,120 clearMario. 677 00:43:19,120 --> 00:43:21,650 678 00:43:21,650 --> 00:43:26,830 >> Έτσι, εδώ έχουμε ήδη δημιουργήσει μια ενέργεια που ονομάζεται clearMario, 679 00:43:26,830 --> 00:43:34,210 η οποία είναι η μέθοδος που θα ονομάζεται κάθε φορά που πατάμε το πλήκτρο CLEAR. 680 00:43:34,210 --> 00:43:41,030 Έτσι, στην πραγματικότητα κωδικό μας, ας βάλετε το κείμενο εξόδου και τη θέα εξόδου 681 00:43:41,030 --> 00:43:44,620 σε τίποτα, και με αυτόν τον τρόπο θα φαίνεται να είναι σαφής. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Εκτός από αυτό, ας δημιουργήσουμε Μια άλλη μέθοδος ονομάζεται runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Ω συγγνώμη, ότι δεν θα πρέπει να είναι μια ιδιοκτησία. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Εντάξει, που θα πρέπει είναι μια δράση, καθώς και. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> Και όταν αυτή η λειτουργία είναι ονομάζεται, εμείς απλά τρέχει Mario δέκα. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Ας ελπίσουμε ότι θα είναι μια χαρά. 692 00:44:39,780 --> 00:44:41,120 Μήπως να το υπολογίσουν; 693 00:44:41,120 --> 00:44:43,920 Ναι. 694 00:44:43,920 --> 00:44:45,090 Τώρα έχουμε μια άποψη. 695 00:44:45,090 --> 00:44:46,560 Έχουμε μια έξοδο. 696 00:44:46,560 --> 00:44:50,040 Και ας δούμε τι θα συμβεί. 697 00:44:50,040 --> 00:44:52,590 Αυτό πάει. 698 00:44:52,590 --> 00:44:54,500 Είναι και πάλι. 699 00:44:54,500 --> 00:44:57,620 Έτσι, εδώ έχουμε καθορίσει τι είδους λειτουργία 700 00:44:57,620 --> 00:45:00,400 θα κληθούν όταν γράφουμε σε κάτι, 701 00:45:00,400 --> 00:45:03,160 όταν πατάμε σε ένα συγκεκριμένο κουμπί. 702 00:45:03,160 --> 00:45:07,890 Αυτό είναι βασικά η προγράμματος δράσης στόχος 703 00:45:07,890 --> 00:45:12,510 για το συμβάν οδηγείται προγραμματισμού του στόχου Γ 704 00:45:12,510 --> 00:45:15,030 >> Εκτός από αυτό, δεν είναι πολύ συναρπαστικό 705 00:45:15,030 --> 00:45:19,810 γιατί δεν μπορούμε πραγματικά να αλλάξει πόσο υψηλή είναι η πυραμίδα θα είναι, 706 00:45:19,810 --> 00:45:23,640 οπότε μάλλον θα θέλετε να με κάποιο τρόπο πάρετε μια είσοδο από τον χρήστη 707 00:45:23,640 --> 00:45:29,490 και να αλλάξετε το ύψος του πυραμίδα βασίζεται σε ό, τι έξοδο. 708 00:45:29,490 --> 00:45:32,900 Έτσι θα πάμε να το κάνουμε αυτό. 709 00:45:32,900 --> 00:45:38,720 Έτσι, αυτή τη φορά, όταν λέμε runMario, εμείς όχι μόνο να καλέσει άμεσα τον Mario. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Τίτλος αυτού του ατόμου. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Εκπρόσωπος. 714 00:46:23,700 --> 00:46:25,160 Αυτό είναι πολύ ενδιαφέρουσα. 715 00:46:25,160 --> 00:46:26,720 Τι είναι ένα πληρεξούσιο; 716 00:46:26,720 --> 00:46:28,950 Πάω να θέσει τον εαυτό εδώ. 717 00:46:28,950 --> 00:46:31,038 Και θα πάμε να δούμε τι σημαίνει αυτό αργότερα. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Έτσι, εδώ έχουμε ουσιαστικά δημιούργησαν ένα συγκεκριμένη περίπτωση ονομάζεται μια προειδοποίηση UI 720 00:46:51,120 --> 00:46:52,210 θέα. 721 00:46:52,210 --> 00:46:54,440 Μια άποψη ειδοποίησης UI είναι βασικά αυτό που θα 722 00:46:54,440 --> 00:46:58,940 Δείτε κάθε φορά που κάτι σκάει και σας ρωτάει για την είσοδο, 723 00:46:58,940 --> 00:47:03,080 σαν τι θα συμβεί όταν προσπαθείτε να αγοράσει κάτι σε ένα κατάστημα app. 724 00:47:03,080 --> 00:47:14,250 >> Εκτός από αυτό, αφού δημιουργήσετε, δείχνουμε μόνο την ειδοποίηση. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Εντάξει, ας γρήγορα δοκιμή θα εργάζονται ή όχι. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 Αυτό είναι πολύ δροσερό. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Τώρα ας πραγματικά δημιουργούν ένα πεδίο εισαγωγής για την ειδοποίηση UI. 731 00:47:59,120 --> 00:48:01,170 Αυτό είναι το πώς θα το κάνουμε αυτό. 732 00:48:01,170 --> 00:48:07,490 Και θα πρέπει να έχουμε μια θέα εισόδου για την καταχώρηση. 733 00:48:07,490 --> 00:48:09,020 Πολύ δροσερό. 734 00:48:09,020 --> 00:48:12,330 Ας πούμε 10. 735 00:48:12,330 --> 00:48:14,900 >> Δεν κάνει τίποτα σωστά τώρα επειδή η κλήση στην πραγματικότητα 736 00:48:14,900 --> 00:48:17,770 δεν άλλαξε για την εκτέλεση του Mario. 737 00:48:17,770 --> 00:48:23,470 Έτσι, αυτό έχει γίνει μια μικρή λίγο περίεργο γιατί κάθε φορά που 738 00:48:23,470 --> 00:48:30,790 πατάμε ένα κουμπί προς τα κάτω, κάθε φορά που πατήστε ένα κουμπί στην προβολή συναγερμού, 739 00:48:30,790 --> 00:48:35,560 κάτι πρέπει να συμβεί, αλλά αυτό δεν θα συμβεί. 740 00:48:35,560 --> 00:48:37,220 Πώς μπορούμε να πιάσει αυτό; 741 00:48:37,220 --> 00:48:41,280 Πώς ξέρουμε ότι ένας χρήστης απέρριψε την άποψη συναγερμού 742 00:48:41,280 --> 00:48:45,630 και έχει ήδη εισέλθει σε μια σειρά, γιατί τώρα τίποτα δεν συμβαίνει πραγματικά. 743 00:48:45,630 --> 00:48:50,450 >> Λοιπόν, μπορεί να έχετε μαντέψει σωστό, αντιπροσωπεία. 744 00:48:50,450 --> 00:48:55,440 Έτσι ώστε εκτός από όλα Οι δηλώσεις αυτές, 745 00:48:55,440 --> 00:49:03,190 θα πρέπει να προσθέσετε μια νέα αντιπροσωπεία κάλεσε UI άποψη συναγερμού εκπρόσωπος. 746 00:49:03,190 --> 00:49:06,440 Έτσι ώστε κάθε αλληλεπίδραση ή συμβάν 747 00:49:06,440 --> 00:49:10,190 ότι θα πάμε για να έχουν με την άποψη συναγερμού UI 748 00:49:10,190 --> 00:49:14,100 πρόκειται να αντιμετωπιστεί από την τάξη μας. 749 00:49:14,100 --> 00:49:26,297 >> Έτσι ώστε εκτός από αυτό, θα είναι συναγερμού κουμπί άποψη κλικ στο δείκτη. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 Αυτό έχει επιτευχθεί. 752 00:49:37,730 --> 00:49:42,020 Έτσι, στην περίπτωση αυτή έχουμε already-- έτσι έχουμε 753 00:49:42,020 --> 00:49:46,210 ανακάλυψε ένα πρωτόκολλο που θα χειριστεί το συμβάν, όταν 754 00:49:46,210 --> 00:49:51,320 πατάμε το κουμπί Done στην προβολή συναγερμού. 755 00:49:51,320 --> 00:49:55,976 Έτσι, κάθε φορά που έχουμε απορρίψει την θέα σε εγρήγορση, αυτό πρέπει να συμβεί. 756 00:49:55,976 --> 00:49:57,350 Επιτρέψτε μου να το δοκιμάσετε απλά πολύ γρήγορα. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 Λοιπόν πράγματι, έχουμε φτάσει εδώ. 759 00:50:19,300 --> 00:50:22,210 >> Μέχρι εδώ, ό, τι δεν θα πραγματικά να πάρει είναι στην πραγματικότητα 760 00:50:22,210 --> 00:50:43,120 πάρετε the-- Έτσι θέλουμε να βγούμε το κείμενο που έχουμε προηγουμένως 761 00:50:43,120 --> 00:50:45,350 εισήλθε στην προβολή συναγερμού. 762 00:50:45,350 --> 00:50:48,505 Και με βάση το κείμενο, είμαστε Θα εμφανιστεί Mario. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 Αυτό αποδεικνύεται πολύ γρήγορα αν λειτουργεί πραγματικά ή όχι. 765 00:50:55,480 --> 00:50:59,476 Έτσι, στην περίπτωση αυτή, αν εμείς εισόδου, ας πούμε, 10, θα πρέπει να δούμε 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Πολύ καλό, έχουμε έναν αριθμό εδώ. 768 00:51:05,210 --> 00:51:06,470 Είναι αρκετά καλό. 769 00:51:06,470 --> 00:51:16,840 Τώρα το τελευταίο βήμα θα be-- Έτσι, η τελευταίο βήμα που πρέπει να κάνουμε τώρα 770 00:51:16,840 --> 00:51:21,100 είναι μόνο μια κλήση Mario με επίπεδο βασίζεται στην εισροή 771 00:51:21,100 --> 00:51:23,270 ότι έχουμε βάλει σε προβολή συναγερμού. 772 00:51:23,270 --> 00:51:26,920 Πρέπει, λοιπόν, να μετατρέψετε Αυτό το string σε iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Στατική υπερχείλιση είναι πολύ φοβερό. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 Και τότε απλά καλέστε τον εαυτό τιμή marioWithLevels. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Ας δούμε κατά πόσο αυτή η λειτουργούν πραγματικά ή όχι. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Είμαστε ήδη δοθεί μια πυραμίδα. 781 00:52:01,550 --> 00:52:04,785 Ας προσπαθήσουμε να αλλάξουμε το ύψος. 782 00:52:04,785 --> 00:52:06,530 Αυτό λειτουργεί πραγματικά. 783 00:52:06,530 --> 00:52:07,610 Είναι αρκετά δροσερό. 784 00:52:07,610 --> 00:52:10,420 Έτσι, ότι τώρα μπορείτε απλά είσοδος οποιαδήποτε τιμή θέλετε. 785 00:52:10,420 --> 00:52:12,440 Ας πούμε τέσσερα. 786 00:52:12,440 --> 00:52:14,260 Αυτό είναι αρκετά φοβερό. 787 00:52:14,260 --> 00:52:17,090 Έτσι, αυτό είναι βασικά ένα πραγματικά γρήγορο παράδειγμα 788 00:52:17,090 --> 00:52:23,170 για το πώς να δημιουργήσετε ένα έργο στο s κώδικα και πώς να πραγματικά γρήγορα καλωδίωση 789 00:52:23,170 --> 00:52:26,220 μερικά πραγματικά απλή εκδηλώσεις και λειτουργίες. 790 00:52:26,220 --> 00:52:28,840 >> Έτσι, η πηγή θα να θέσει σε απευθείας σύνδεση αργότερα. 791 00:52:28,840 --> 00:52:33,400 Έτσι, αν σας ενδιαφέρει για το πώς λειτουργεί το iOS Mario, 792 00:52:33,400 --> 00:52:38,360 Πάω να θέσει ακριβώς το ίδιο έργων στην ιστοσελίδα του CS50 αργότερα. 793 00:52:38,360 --> 00:52:41,260 Είμαστε ουσιαστικά γίνεται με την καλοκαίρι, και πριν τελειώσουμε 794 00:52:41,260 --> 00:52:45,190 Θέλω απλώς να σας επισημάνω τα παιδιά να μερικά πραγματικά φοβερό πόρους ότι 795 00:52:45,190 --> 00:52:47,550 είναι διαθέσιμα στο διαδίκτυο. 796 00:52:47,550 --> 00:52:52,270 >> Προφανώς, η τεκμηρίωση της Apple πρόκειται να είναι πολύ χρήσιμη. 797 00:52:52,270 --> 00:52:57,630 Αλλά εκτός από αυτό, εγώ ειδικά προτείνουμε τέσσερις πηγές, τον κωδικό του σχολείου, 798 00:52:57,630 --> 00:53:02,120 δεντρόσπιτο, AppCoda και WWDC βίντεο. 799 00:53:02,120 --> 00:53:07,270 Κωδικός σχολείο και σπίτι δέντρο είναι δύο σε απευθείας σύνδεση ιστοχώρους εκπαιδευτήρια, 800 00:53:07,270 --> 00:53:10,210 η οποία ειδικά επικεντρωθεί στη μηχανική λογισμικού. 801 00:53:10,210 --> 00:53:16,930 Ειδικά για τον κωδικό του σχολείου, που έχουν πραγματικά καλό φροντιστήριο για iOS. 802 00:53:16,930 --> 00:53:19,550 >> Αυτό είναι ένα πραγματικά γρήγορο παράδειγμα για αυτό. 803 00:53:19,550 --> 00:53:22,980 Στην πραγματικότητα δημιουργούν ένα πραγματικά cute-- εξετάσουμε αυτό το μικρό χαριτωμένο iPhone 804 00:53:22,980 --> 00:53:24,920 μάγκα εκεί πέρα, είναι αρκετά φοβερό. 805 00:53:24,920 --> 00:53:31,010 Και ο τρόπος που εξηγούν Στόχος Η σύνταξη C είναι απολύτως σαφής. 806 00:53:31,010 --> 00:53:32,230 Tree House είναι το ίδιο. 807 00:53:32,230 --> 00:53:34,660 Και AppCoda είναι ένα φόρουμ. 808 00:53:34,660 --> 00:53:38,130 Είναι πραγματικά ένα blog που τρέχει με ένα πραγματικά έμπειροι Στόχος Γ 809 00:53:38,130 --> 00:53:39,120 προγραμματιστής. 810 00:53:39,120 --> 00:53:43,950 Και όλα αυτά τα σεμινάρια σε AppCoda είναι αρκετά μικρή και εύκολη στην εφαρμογή, 811 00:53:43,950 --> 00:53:45,390 συνιστάται ιδιαίτερα. 812 00:53:45,390 --> 00:53:47,700 >> Και αν είστε προγραμματιστής, σίγουρα να το ελέγξετε 813 00:53:47,700 --> 00:53:55,660 πώς τα βίντεο WWDC, όπου μπορείτε να μάθετε για τις τελευταίες προγραμματισμού iOS 814 00:53:55,660 --> 00:53:58,250 τεχνικές, APIs και βιβλιοθηκών. 815 00:53:58,250 --> 00:54:02,850 Έτσι, αυτό είναι λίγο πολύ αυτό για το σεμινάριο. 816 00:54:02,850 --> 00:54:03,820 Σας ευχαριστώ πολύ. 817 00:54:03,820 --> 00:54:08,040 Και ελπίζω να έχει τη διασκέδαση δημιουργώντας τη δική σας iOS app. 818 00:54:08,040 --> 00:54:09,302