1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> TIANYU LIU: Hey, როგორ არის იგი აპირებს ყველას? 3 00:00:13,590 --> 00:00:20,250 და ეს არის iOS App პროგრამირების ობიექტური c სემინარი. 4 00:00:20,250 --> 00:00:21,520 და ჩემი სახელი არის Tianyu Liu. 5 00:00:21,520 --> 00:00:26,114 მე Lowell junior ახლა, კონცენტრაცია კომპიუტერულ მეცნიერებაში. 6 00:00:26,114 --> 00:00:28,030 ასე რომ, ამ სემინარზე ვარ აპირებს გასწავლით ბიჭები 7 00:00:28,030 --> 00:00:30,770 ცოტა შესახებ, თუ როგორ გახადოს app. 8 00:00:30,770 --> 00:00:33,030 Yay, კიდევ აღფრთოვანებული მას. 9 00:00:33,030 --> 00:00:36,790 >> ასე რომ, სანამ ჩვენ კი დაიწყება diving შევიდა ფაქტობრივი პროგრამირების მხარეს, 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 იყენებს Objective C. ისე, არსებობს ახალი ენის მოუწოდა 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, ძირითადად, superset of C. Meaning 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 და ობიექტური C. ასე რომ, 22 00:01:19,790 --> 00:01:22,860 მას შემდეგ, რაც თქვენ გაქვთ აღებული CS50 ამ შორს, თქვენ უკვე 23 00:01:22,860 --> 00:01:26,500 ვიცი, Objective C, მინიმუმ 40%. 24 00:01:26,500 --> 00:01:30,720 ასევე, Apple აქვს ნამდვილად ძლიერი API for 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 მაგრამ ეს რამდენად ძლიერი iOS API შეიძლება იყოს. 30 00:01:47,020 --> 00:01:49,340 >> და, როგორც თქვენ ალბათ figured out ახლავე, 31 00:01:49,340 --> 00:01:53,000 დასტის overflow არის ერთ-ერთი ყველაზე მნიშვნელოვანი ონლაინ რესურსები 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 სავარაუდოდ არსებობს დასტის overflow პასუხი. 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 შეგიძლიათ გააკეთოთ, რომ ნებისმიერი დესკტოპის apps, რომელიც არის ლამაზი. 48 00:02:43,860 --> 00:02:48,870 >> ყველა უფლება, ახლა მოდით რეალურად მიიღონ ენაზე მიზანი C. 49 00:02:48,870 --> 00:02:52,910 რატომ არ უნდა დაიწყოს ზოგიერთი მართლაც ძირითადი სინტაქსი. 50 00:02:52,910 --> 00:02:57,410 როგორც უკვე აღვნიშნე Objective C ეს ძირითადად superset of 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 >> ანალოგიურად, lodger for loop და მდგომარეობა არის ასევე იგივე. 56 00:03:17,370 --> 00:03:22,370 შეგიძლიათ გააკეთოთ ამისთვის loop ისევე, როგორც თქვენ არ გააკეთა Mario [INAUDIBLE]. 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 მაგრამ მიზანი 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 არის, რომ თქვენ გაქვთ საკმაოდ უცნაური ბოდიში, თქვენ გაქვთ საკმაოდ უცნაური 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 თქვენ უნდა at ნიშანი ადრე რეალურად გამოცხადების string. 72 00:04:14,090 --> 00:04:19,209 ასე at ნიშანი ძირითადად ნიშნავს რომ სიმებიანი არ არის მხოლოდ 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 მაგრამ მიზანი C ჩვენ მოვუწოდებთ [INAUDIBLE]. 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 ისე გამოდის, რომ მიზანი C რეალურად 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 რომელიც არის კომპანია, რომელიც სტივ ჯობსი დააფუძნა, 86 00:04:59,980 --> 00:05:03,960 რომელიც არის კომპანია, სადაც ენის Objective 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 >> ასე რომ რაღაც კიდევ weirder ვიდრე ეს არის ფუნქცია დეკლარაცია. 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 რაც თქვენ უნდა აქ მიერ გზა, ეს არ არის ტყვია წერტილი, 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 მოდით უბრალოდ, ვამბობთ, თუ ჩვენ აქვს hello world, მაშინ 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 [INAUDIBLE] 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 და შემდეგ, რომ თქვენ გავლის პარამეტრი ბ. 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 >> რეალურად, მოუწოდებს ფუნქცია Objective 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 და ეს არის, სადაც უცნაური გაფართოება მეთოდით სახელი ნამდვილად ძალაში play. 132 00:07:49,600 --> 00:07:52,150 >> მოდით შევხედოთ მეორე მაგალითი. 133 00:07:52,150 --> 00:07:56,780 ჩვენ მხოლოდ განსაზღვრული მეთოდი მოუწოდა addInt ერთად blah blah blah. 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 წერტილი Objective-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 სცდება, რომ, მოდით ვისაუბროთ ცოტა ცოტა შესახებ ობიექტზე ორიენტირებული პროგრამირების. 148 00:08:48,470 --> 00:08:52,160 ობიექტზე ორიენტირებული პროგრამირების არის ერთ-ერთი ძირითადი პროგრამირების 149 00:08:52,160 --> 00:08:57,110 ტექნიკის ან ნიმუშების, რომ არის გამოიყენება მიზანი C. Objective C 150 00:08:57,110 --> 00:09:03,110 ეწოდება Objective C, არა C, ნამდვილად კარგი მიზეზი. 151 00:09:03,110 --> 00:09:07,560 >> ასე რომ, სანამ ჩვენ შეღწევას მიზანი C სინტაქსი, 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 ჩვენ რეალურად აკეთებს პროგრამირების, როდესაც ჩვენ, ფაქტობრივად, 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 >> მოდით უბრალოდ, ვამბობთ, რომ თქვენ მიღების ბმულს. 203 00:12:21,090 --> 00:12:24,800 ამ შემთხვევაში, თითოეული ბმულების თქვენ რეალურად დასრულდება up ერთად 204 00:12:24,800 --> 00:12:27,310 იქნება ობიექტი. 205 00:12:27,310 --> 00:12:35,830 მაგრამ ბმულების plate გამოიყენოთ bake ყველა cookies იქნება კლასი. 206 00:12:35,830 --> 00:12:37,880 კლასი ძირითადად template. 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 მოდით რეალურად გავაკეთოთ მართლაც სწრაფი მაგალითად [INAUDIBLE]. 211 00:13:00,010 --> 00:13:04,280 მოდით ვთქვათ, ჩვენ ვაცხადებთ ობიექტის კატა. 212 00:13:04,280 --> 00:13:07,930 ობიექტი უნდა ფლობის კატა კლასი უნდა 213 00:13:07,930 --> 00:13:11,260 გარკვეული თვისებები და მეთოდები. 214 00:13:11,260 --> 00:13:17,300 რა სახის თვისებები უნდა კლასის ფლობის უნდა cat აქვს? 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 სწრაფმა მაგალითები იქნება დევნა მაუსი, ჭამა თევზი ან უბრალოდ meow. 220 00:13:37,160 --> 00:13:40,900 ეს არის ძალიან სწრაფი მაგალითად კატა კლასი. 221 00:13:40,900 --> 00:13:46,920 და მართლაც კონკრეტული cat ობიექტი იქნება კატა 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 ჩვენ კოპირება template კლასის და ჩვენ დააკონკრეტა ყოველი კონკრეტული ინფორმაცია 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 თქვენ უბრალოდ მოვუწოდებ meow ობიექტი, რაც კატა უბრალოდ შექმნა. 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 მაგრამ .n ნიშნავს რეალურად გ, არ არსებობს ფუნდამენტური განსხვავება იმ 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 ჩვენ ძირითადად მემკვიდრეობით cat კლასის ობიექტის კლასი. 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 რომ არის, ძირითადად, სინტაქსი for 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 >> მოდით უბრალოდ, ვამბობთ რომ აქ გვაქვს ორი მეთოდები, ერთი meow, 259 00:16:09,720 --> 00:16:12,460 კიდევ ერთი საკითხი არის chase მაუსი. 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 signifying 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-- რა არსებობს cat კლასის. 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 >> მოდით უბრალოდ, ვამბობთ აქ meow რომ უბრალოდ ამობეჭდოთ 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 გზა თქვენ იყენებთ კლასის შექმნა ობიექტის Objective C წერია აქ. 279 00:17:26,880 --> 00:17:30,730 >> თქვენ პირველი დააკონკრეტა, რომ ეს არის cat მაჩვენებელი, 280 00:17:30,730 --> 00:17:38,700 იმიტომ, რომ ყველა ობიექტი Objective C საბოლოოდ ხორციელდება როგორც მაჩვენებელი. 281 00:17:38,700 --> 00:17:46,210 და რეკავთ კლასის, მოვუწოდებთ მათ როგორც alloc, რომელიც ძირითადად 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 მოუწოდებდა ნებისმიერი მეთოდით ობიექტური C. 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, რომ თქვენ უნდა meow. 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 ეს არის ერთ ერთი ხაზები თქვენ ალბათ უკვე დაწერილი ბოლო [INAUDIBLE] 308 00:19:24,894 --> 00:19:26,810 CS50, google.maps.event.addListener (marker, 309 00:19:26,810 --> 00:19:27,810 "დაკლიკეთ", function () {}) :. 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 In mario.c უბრალოდ გაუშვით პროგრამა ერთხელ, ის გაძლევთ output, 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 არის ერთი shot პროგრამა, ეს არ არის ძალიან კარგი. 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 ასე რომ, Objective 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 ეს არის ძალიან მარტივი სამიზნე action. 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- ის ორიგინალური app ფოსტა ან კონტაქტი, 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 ობიექტური C. კარგად ფაქტობრივად, თითოეული app 367 00:22:58,320 --> 00:23:00,870 აქვს რაღაც დაიჭირეს app დელეგატი. 368 00:23:00,870 --> 00:23:06,330 Inside დელიკატური არის ყველა ოქმები ჩატვირთვის app. 369 00:23:06,330 --> 00:23:12,470 >> მოდით უბრალოდ, ვამბობთ არსებობს ღონისძიება app გააკეთა დატვირთვა. 370 00:23:12,470 --> 00:23:18,200 ასე რომ, რა უნდა მოხდეს შემდეგ თქვენ განთავსებულია app, შემდეგ გახსნა app, 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 [INAUDIBLE] აირჩიოთ როლი 388 00:24:30,890 --> 00:24:35,480 at [? ინდექსი?] [? წარსულში. ?] ასე რომ, ეს ღონისძიება, რომელიც იქნება დაჭერილი, როდესაც თქვენ 389 00:24:35,480 --> 00:24:39,710 რეალურად დაკრავენ კონკრეტული საკანში თქვენი tableview, 390 00:24:39,710 --> 00:24:43,570 მოდით უბრალოდ, ვამბობთ თქვენს mail ან თქვენი კონტაქტების app. 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 იმის გათვალისწინებით, რაც თქვენ გსურთ თქვენი app. 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 ფარავს რამდენიმე ძალიან ძირითადი სინტაქსური ფუნდამენტური კონცეფცია Objective C 398 00:25:11,430 --> 00:25:15,860 პროგრამირების, და ჩვენ შეგვიძლია გავაკეთოთ ზოგიერთი კოდი. 399 00:25:15,860 --> 00:25:17,980 ბევრად უფრო საინტერესო. 400 00:25:17,980 --> 00:25:21,070 ასე s კოდი ფაქტიურად ცოტა გადაჭარბებული 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 და თქვენ აუცილებლად გააკეთებს არ გინდათ გამოიყენოთ გ შეცვალონ. 407 00:25:40,610 --> 00:25:47,950 ასე რომ, ის კოდი გვაქვს რამდენიმე სხვადასხვა ადგილებში. 408 00:25:47,950 --> 00:25:53,050 როდესაც თქვენ პირველად გახსნა up s კოდი თქვენ ნახავთ, ნავიგაცია ნაკვეთი, 409 00:25:53,050 --> 00:25:57,470 რომელიც ძირითადად გიჩვენებთ ყველა ფაილი, რომელიც არის თქვენი მიმდინარე პროექტი. 410 00:25:57,470 --> 00:26:03,590 >> თქვენ გაქვთ პანელი ტერიტორია, რომელიც ძირითადად მართვის views, 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 ამ სფეროში ძალიან ჰგავს გ შეცვალონ მაგრამ ბევრად უკეთესია, ვიდრე გ შეცვალონ. 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 რამდენიმე სწრაფი რეგულაციისთვის თქვენი app. 417 00:26:30,070 --> 00:26:34,570 >> და საბოლოო ტერიტორია debugging. 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 შეგიძლიათ უბრალოდ შესამოწმებლად კოდი გარეშე რეალურად ჩადენილი ნებისმიერი app. 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 ასე რომ, ეს მართლაც კარგია, ის კოდი რეალურად უკვე 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 აქვს გვერდზე დაფუძნებული პროგრამები, tab დაფუძნებული პროგრამა. 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 აქ ჩვენ არ გვინდა შეამოწმეთ გამოყენებით Core მონაცემები. 441 00:27:57,060 --> 00:28:00,170 Core მონაცემთა ძირითადად databasing iOS. 442 00:28:00,170 --> 00:28:05,360 თუ თქვენ აკეთებთ Core მონაცემები, s კოდი აპირებს განსაზღვროს 443 00:28:05,360 --> 00:28:07,710 უფრო რთული კლასების თქვენთვის. 444 00:28:07,710 --> 00:28:12,740 ასე რომ შევინარჩუნოთ ყველაფერი მარტივია, ჩვენ უბრალოდ აპირებს ამის გარეშე Core მონაცემთა 445 00:28:12,740 --> 00:28:15,290 ახლავე. 446 00:28:15,290 --> 00:28:18,030 >> პრობლემა ჩვენ ვაპირებთ, რომ იყოს გამოყენებით არის, რომ პრობლემა 447 00:28:18,030 --> 00:28:23,770 ჩვენ ვაპირებთ, რომ უნდა შექმნას, რომ ჩვენ ძირითადად მინდა იმპორტი Mario from C 448 00:28:23,770 --> 00:28:25,437 to iOS app. 449 00:28:25,437 --> 00:28:26,645 მოდით მოვუწოდებთ, რომ მარიო-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 მოდით უბრალოდ, ვამბობთ რა სახის მოწყობილობის გსურთ თქვენი app გამოჩნდება? 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 გსურთ განათავსოს ვაშლის შენახვის. 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 და ეს არის ყველა ფაილი, რომელიც უკვე მოვიდა template, ძალიან ლამაზი. 466 00:29:30,140 --> 00:29:35,980 ასე რომ, როდესაც ჩვენ დააწკაპუნეთ ერთი მათგანი ეს არის ის, რაც ჰგავს. 467 00:29:35,980 --> 00:29:38,530 ძალიან ჰგავს გ შეცვალონ. 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 და ეს გაცილებით უფრო ძლიერი ვიდრე g რედაქტირება. 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 ასე გარეშე ado, მოდით რეალურად შეადგინოს app და ვნახოთ, რა მოხდება. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 ერთი არსებითი ფუნქცია კოდი, ის არის, რომ ის კოდი 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, huh? 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 ეს არის რეალურად დიდი, რა ფუნქცია კოდი. 494 00:31:08,020 --> 00:31:14,170 იმის გამო, რომ ის კოდი, შეგიძლიათ რეალურად drag ჩამოაგდეს ელემენტების გადატანა ინტერფეისი 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 შეავსოთ app გარეშე წერა ალბათ ათასი ხაზების კოდი 509 00:31:52,800 --> 00:31:54,820 უბრალოდ გამოყენებით Interface Builder. 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 არის, რომ როდესაც main არის ეწოდება, რომელიც, ძირითადად, 525 00:32:43,540 --> 00:32:49,000 მაშინ, როდესაც app ხორციელდება, ეს ქმნის ობიექტი მოუწოდა 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 ეუბნება შემდგენელი 529 00:33:02,270 --> 00:33:05,540 რომ OK, მე ვაპირებ შექმნა პროდუქტის მოუწოდა 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 ასე რომ, ეს ძირითადად აპირებს დაიწყოს ჩატვირთვის up ყველა შეხედულებას, რომ თქვენ უნდა 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 ასე რომ, როდესაც თქვენ დაწერეთ და ტიპის შევა, ეს უკვე მისცა up თარგი 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 არაა ბეჭდვითი out გამოიწვიოს შესახებ. 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 Oops, ცხადია. 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 ახლა მოდით გადაიტანეთ და ჩამოაგდეს ის. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Wow, გვაქვს ტექსტის კალენდარი ჩვენი აზრით, მართლაც ლამაზი. 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 არსებობს სპეციალური [INAUDIBLE] მოუწოდა [? თანაშემწე?] [INAUDIBLE]. 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 და მოდით, უბრალოდ გადის თ ფაილი. 634 00:40:35,950 --> 00:40:39,110 კონტროლის, ეს [INAUDIBLE] ლოგიკა. 635 00:40:39,110 --> 00:40:47,280 პრეს კონტროლის და drag ტექსტი ხედი შეყვანილი დეკლარაციაში. 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 განთავსებულია to გამომავალი ხედი, რომელიც არის 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 Wow. 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 გადააადგილება. 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 Button ორი. 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 ასე რომ, ეს გზა ჩვენ ასევე გააკეთებს ჯადოსნური პერსონალი, კონტროლი და drag 673 00:43:05,510 --> 00:43:08,740 კლასს, დეკლარაციის in თანაშემწე director-- 674 00:43:08,740 --> 00:43:11,600 in თანაშემწე მაყურებელს. 675 00:43:11,600 --> 00:43:18,620 ამ შემთხვევაში ჩვენ მითითებით , რომ უნდა იყოს action. 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 რომელიც არის მეთოდი, რომელიც იქნება ე.წ. როდესაც ჩვენ დააჭირეთ ღილაკს ნათელია. 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 ღონისძიება ორიენტირებული პროგრამირების მიზანი C. 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 alert 720 00:46:51,120 --> 00:46:52,210 ხედი. 721 00:46:52,210 --> 00:46:54,440 UI alert ხედი არის ძირითადად რას 722 00:46:54,440 --> 00:46:58,940 ვხედავ ყოველ ჯერზე რაღაც pops და მოგთხოვთ input, 723 00:46:58,940 --> 00:47:03,080 როგორიცაა, რა მოხდება, როდესაც თქვენ ცდილობთ შეძენა რაღაც app store. 724 00:47:03,080 --> 00:47:14,250 >> გარდა ამისა, მას შემდეგ, რაც თქვენ შექმნა, ჩვენ მხოლოდ აჩვენებს alert. 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 alert. 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 ჩვენ დააჭირეთ ღილაკს ქვემოთ, როდესაც ჩვენ დააჭირეთ ღილაკს alert ხედი, 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 alert კალენდარი დელეგატი. 746 00:49:03,190 --> 00:49:06,440 ისე, რომ თითოეული ურთიერთქმედების ან მოვლენა 747 00:49:06,440 --> 00:49:10,190 რომ ჩვენ ვაპირებთ აქვს ერთად UI alert კალენდარი 748 00:49:10,190 --> 00:49:14,100 იქნება სიფრთხილით ჩვენს კლასში ასევე. 749 00:49:14,100 --> 00:49:26,297 >> ასე რომ, გარდა ამისა, იქნება alert კალენდარი ღილაკს ინდექსი. 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 ჩვენ დააჭირეთ შესრულებულია ღილაკს მზადყოფნაში ხედი. 755 00:49:51,320 --> 00:49:55,976 ასე რომ ყოველ ჯერზე ჩვენ გადააყენოს alert აზრით, ეს უნდა მოხდეს. 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 შევიდა alert ხედი. 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 ასე რომ, ამ შემთხვევაში, თუ ჩვენ input, ვთქვათ, 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 ერთად დონის საფუძველზე input 771 00:51:21,100 --> 00:51:23,270 რომ ჩვენ არ შევიდა alert ხედი. 772 00:51:23,270 --> 00:51:26,920 ასე რომ, ჩვენ უნდა გარდაქმნას ეს სიმებიანი შევიდა iOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 სტატიკური overflow ძალიან გასაოცარია. 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 კოდი და როგორ ნამდვილად სწრაფად საბანკო up 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 videos. 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-- შეხედეთ, რომ პატარა cute iPhone 804 00:53:22,980 --> 00:53:24,920 dude იქ, ეს საკმაოდ გასაოცარია. 805 00:53:24,920 --> 00:53:31,010 და გზა ისინი განმარტავენ, Objective C სინტაქსი სრულიად ნათელია. 806 00:53:31,010 --> 00:53:32,230 ხის სახლი არის იგივე. 807 00:53:32,230 --> 00:53:34,660 და AppCoda ფორუმზე. 808 00:53:34,660 --> 00:53:38,130 ეს, ფაქტობრივად, წაკითხვა, რომელიც აწარმოებს მიერ ნამდვილად გამოცდილი Objective C 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