1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Welcome to იხილეთ CS50 სემინარი - 3 00:00:09,800 --> 00:00:11,630 შესავალი iOS. 4 00:00:11,630 --> 00:00:13,290 დიდი მადლობა მობრძანებისთვის. 5 00:00:13,290 --> 00:00:16,610 იმედი მაქვს, თქვენ, ისევე როგორც აღფრთოვანებული როგორც მე ვარ დაახლოებით iOS. 6 00:00:16,610 --> 00:00:22,300 გასულ წელს, მე CS50 როგორც მეორე, და მე, ძირითადად, ცნობილი გახდა, iOS ჩემი 7 00:00:22,300 --> 00:00:23,490 საბოლოო პროექტი. 8 00:00:23,490 --> 00:00:26,350 და ეს იყო საკმაოდ - 9 00:00:26,350 --> 00:00:30,530 კარგად, ეს არ იყო ადვილი, მაგრამ არსებობს უამრავი მხარდაჭერა გაკვეთილები ონლაინ რეჟიმში. 10 00:00:30,530 --> 00:00:33,760 და მე ნამდვილად იმედი მაქვს, რომ ამ სემინარი, მე მივცემ თქვენ ბიჭები ხელმძღვანელი 11 00:00:33,760 --> 00:00:36,750 დაიწყება iOS განვითარების 12 00:00:36,750 --> 00:00:40,490 >> ასე რომ, იმ თვალსაზრისით, iOS განვითარება, არსებობს ორი ძირითადი რამ ჩვენ 13 00:00:40,490 --> 00:00:42,090 მინდა დასაფარავად დღეს. 14 00:00:42,090 --> 00:00:43,290 პირველი, ენა - 15 00:00:43,290 --> 00:00:46,650 ენა იქნება Objective-C. ჩვენ რეალურად მოვისმინოთ 16 00:00:46,650 --> 00:00:47,750 მართლაც რაღაც საინტერესო. 17 00:00:47,750 --> 00:00:51,500 ასე რომ, თქვენ შეგიძლიათ შეუერთდება მთელი Apple საზოგადოება დეველოპერები და ავაშენოთ 18 00:00:51,500 --> 00:00:52,940 მართლაც გასაოცარია apps. 19 00:00:52,940 --> 00:00:58,670 >> ასევე, iOS 7 არის ლამაზი, იმედია, ზოგიერთი თქვენგანი. 20 00:00:58,670 --> 00:01:01,130 მაგრამ საკამათო, მე ვიცი. 21 00:01:01,130 --> 00:01:05,349 და ძირითადად, რა გსურთ არის სახელმძღვანელო თქვენ მეშვეობით Objective-C, ასევე 22 00:01:05,349 --> 00:01:10,650 Xcode, რომელიც ინტეგრირებული განვითარების გარემო, რომ თქვენ გექნებათ 23 00:01:10,650 --> 00:01:13,460 მუშაობის for iOS. 24 00:01:13,460 --> 00:01:19,140 >> და ასე, უბრალოდ სიტყვა Objective-C. ძირითადად, ეს ზუსტად იგივე როგორც C, 25 00:01:19,140 --> 00:01:22,790 მაგრამ ბევრი სხვა რამ. 26 00:01:22,790 --> 00:01:27,710 ასე რომ, უფრო მკაცრად, სინამდვილეში სუპერ მითითებული C. ასე რომ, ყველაფერი, რაც თქვენ 27 00:01:27,710 --> 00:01:32,280 შეგვიძლია გავაკეთოთ C ახლავე, რომელიც ძირითადად მინდა pset 0 გზით 6, თქვენ 28 00:01:32,280 --> 00:01:34,170 შეგვიძლია გავაკეთოთ Objective-C. 29 00:01:34,170 --> 00:01:38,620 >> ასე რომ, ვერ ვგრძნობ ეშინია ამ ახალი ენა, რომ თქვენ აპირებთ სწავლობენ. 30 00:01:38,620 --> 00:01:42,120 თქვენ უკვე დაფარული ბევრი, რადგან თქვენ ყველა გაკეთდეს C ამ წარსულის 31 00:01:42,120 --> 00:01:45,880 სემესტრის გარდა ახლა თქვენ აპირებს აქვს კიდევ ბევრი მუშაობა. 32 00:01:45,880 --> 00:01:49,270 და მე უბრალოდ აპირებს გამოიწვევს თქვენ მეშვეობით რამდენიმე მაგალითი, რომ ხაზი გავუსვა ზოგიერთი 33 00:01:49,270 --> 00:01:53,920 ძირითადი განსხვავებები, რომ მივხვდი, იყო მართლაც მნიშვნელოვანია, როდესაც გავიგე, 34 00:01:53,920 --> 00:01:57,180 Objective-C შარშან. 35 00:01:57,180 --> 00:02:00,910 >> ისე, რეალურად, ასე რომ, მეორე მხრივ არის, Objective-C არის, ცხადია, 36 00:02:00,910 --> 00:02:02,200 ობიექტზე ორიენტირებული. 37 00:02:02,200 --> 00:02:06,340 და ჩვენ განვიხილავთ ცოტა იმაზე, თუ რა ეს ნიშნავს, რომ მოგვიანებით. 38 00:02:06,340 --> 00:02:11,340 ძირითადად, ეს მოსწონს თუ როგორ მუშაობდა structs ამ წარსულში pset, ერთად 39 00:02:11,340 --> 00:02:13,360 კვანძების და მსგავსი სხვა რამ, როგორიცაა, რომ. 40 00:02:13,360 --> 00:02:17,110 გარდა, Objective-C, ყველაფერი არის ობიექტი, და თქვენ იქნება 41 00:02:17,110 --> 00:02:20,720 გავლით გარშემო მითითებას ობიექტები ვიდრე ღირებულებების თავს. 42 00:02:20,720 --> 00:02:25,050 ასე რომ, ეს უბრალოდ რაღაც მნიშვნელოვანი უნდა გვახსოვდეს. 43 00:02:25,050 --> 00:02:29,140 >> ასე რომ, რატომ არ გვაქვს იწყება რამდენიმე განსხვავებები სინტაქსი შორის C და 44 00:02:29,140 --> 00:02:30,540 Objective-C? 45 00:02:30,540 --> 00:02:38,310 მინდა ხაზი გავუსვა # მოიცავს, თქვენ ვიცი, სტანდარტული io.h C და C + +, ერთად 46 00:02:38,310 --> 00:02:44,030 Objective-C მობილური, რაც არის # იმპორტის და შემდეგ გარკვეული 47 00:02:44,030 --> 00:02:44,790 header ფაილი. 48 00:02:44,790 --> 00:02:48,165 ამ შემთხვევაში, ეს იქნება UIKit, თქვენ იცით, ირიბის UIKit.h. 49 00:02:48,165 --> 00:02:53,560 ეს ასევე შეიძლება იყოს, თქვენ იცით, MKMapview თქვენ ირიბის MKMapview.h თუ გსურთ 50 00:02:53,560 --> 00:02:56,370 ამის გაკეთება, ისევე, როგორც რუკაზე შიგნით თქვენი app. 51 00:02:56,370 --> 00:02:57,110 მსგავსი რამ, როგორიცაა, რომ. 52 00:02:57,110 --> 00:03:01,250 >> ასე რომ, მთავარია, მოიცავს უკვე შეიცვალა იმპორტი. 53 00:03:01,250 --> 00:03:04,340 მაგრამ იდეა რჩება. 54 00:03:04,340 --> 00:03:10,460 თქვენ ვაპირებთ იყოს იმპორტიორი გარკვეული of header ფაილი თქვენი პროგრამა. 55 00:03:10,460 --> 00:03:14,550 >> ასევე მინდა ხაზი გავუსვა სხვაობა შორის printf და NSLog. 56 00:03:14,550 --> 00:03:19,760 თუმცა, როგორც ჩვენ განაცხადა ადრე, Objective-C მკაცრი სუპერ კომპლექტი 57 00:03:19,760 --> 00:03:22,800 C, რაც ნიშნავს, რომ printf არსებობს Objective-C, ძალიან. 58 00:03:22,800 --> 00:03:24,340 მაგრამ, ყველაზე ხალხი არ გამოიყენოთ, რომ. 59 00:03:24,340 --> 00:03:28,245 ყველაზე ადამიანი სარგებლობს ამ NSLog, რადგან იგი გაძლევთ დროის შტამპი, და ვნახავთ 60 00:03:28,245 --> 00:03:29,780 ეს ქმედება მოგვიანებით. 61 00:03:29,780 --> 00:03:33,560 მაგრამ, ეს ზოგადად უფრო სასარგებლო გზა ამობეჭდოთ ცვლადები. 62 00:03:33,560 --> 00:03:38,220 >> და ასევე მინდა ხაზი გავუსვა, რომ NSLog იღებს მხოლოდ იგივე 63 00:03:38,220 --> 00:03:41,650 placeholder ფასეულობებზე printf აკეთებს - 64 00:03:41,650 --> 00:03:45,900 ასე რომ% d არის int, % F არის float. 65 00:03:45,900 --> 00:03:49,750 თუმცა, მე მინდა ხაზი გავუსვა, ამ ბოლო ერთი - 66 00:03:49,750 --> 00:03:52,960 NSLog% at ნიშანი - 67 00:03:52,960 --> 00:03:55,390 რომ არის placeholder for ობიექტი. 68 00:03:55,390 --> 00:04:01,160 და როგორც მე ვთქვი ადრე, Objective-C გარიგებებს საკმაოდ ბევრი ძირითადად ობიექტები, 69 00:04:01,160 --> 00:04:05,020 და ა.შ. ეს მოვა გამოყენება როდესაც თქვენ გსურთ ამობეჭდოთ, ალბათ, შესაძლოა, 70 00:04:05,020 --> 00:04:08,390 NSArray, ან NSDictionary, ან NSString. 71 00:04:08,390 --> 00:04:13,750 >> ასე რომ, ასევე შეამჩნევთ, რომ, ჩვენი NSLog განცხადებაში, ჩვენ გვაქვს ერთი ნიშანი თვალწინ 72 00:04:13,750 --> 00:04:15,380 საქართველოს ციტატა - 73 00:04:15,380 --> 00:04:20,769 რომ არის ნიშნავდეს, რომ სტრიქონები, ახლა, Objective-C არის ობიექტები. 74 00:04:20,769 --> 00:04:23,310 ისინი აღარ უბრალოდ char ვარსკვლავი. 75 00:04:23,310 --> 00:04:25,530 ისინი ობიექტები და განიხილება, როგორც ასეთი. 76 00:04:25,530 --> 00:04:28,690 >> ასე რომ, ეს მართლაც მნიშვნელოვანია, რომ როდესაც თქვენ იყენებთ NSLog სჭირდება NS 77 00:04:28,690 --> 00:04:32,580 string, რაც იმას ნიშნავს, რომ თქვენ უნდა მოიცავს at წინაშე თქვენი 78 00:04:32,580 --> 00:04:34,270 ციტატა ნიშნები. 79 00:04:34,270 --> 00:04:38,290 და ამიტომაც ხედავთ, აქ, ყველა ჩემი ფუნქცია მოუწოდებს ამ NSLog, I 80 00:04:38,290 --> 00:04:42,400 აქვს ერთი თვალწინ quotes, მაშინაც კი, მიუხედავად იმისა, რომ% d და% f ს 81 00:04:42,400 --> 00:04:45,200 ყველა იგივე C. 82 00:04:45,200 --> 00:04:47,930 >> ნებისმიერი კითხვები აქამდე? 83 00:04:47,930 --> 00:04:50,920 ვეცდები გავლა ამ სწრაფად, ისე, რომ ჩვენ შეგვიძლია უფრო მეტი დრო მუშაობა 84 00:04:50,920 --> 00:04:55,210 ერთად Xcode და Objective-C, ამიტომ რომ თქვენ ბიჭები შეგიძლიათ მიიღოთ მეტი 85 00:04:55,210 --> 00:04:57,630 იცნობს მას. 86 00:04:57,630 --> 00:05:01,900 >> შემდეგი, მე მინდა ხაზი გავუსვა, რაღაც კონცეპტუალურად მნიშვნელოვანია. 87 00:05:01,900 --> 00:05:05,130 ასე რომ, C, საუკეთესო რამ ფუნქციები. 88 00:05:05,130 --> 00:05:06,280 ჩვენ ფუნქცია ზარი. 89 00:05:06,280 --> 00:05:10,190 ჩვენ ვაცხადებთ ფუნქციები ამ გზა, დაბრუნების ტიპის პირველი, მაშინ 90 00:05:10,190 --> 00:05:13,570 ფუნქციის სახელი, ფრჩხილებში, ხოლო შემდეგ რაც არ უნდა არგუმენტები და ტიპის 91 00:05:13,570 --> 00:05:15,590 ეს არგუმენტები ჩვენ გვინდა გავლა შემოსული 92 00:05:15,590 --> 00:05:19,970 და Objective-C, რადგან ყველაფერი არის ობიექტის ან კლასის - 93 00:05:19,970 --> 00:05:23,970 ასე რომ კლასი და ობიექტი ორი თვალსაზრისით, რომ ძირითადად სინონიმი ერთმანეთს, 94 00:05:23,970 --> 00:05:28,270 ასე რომ შეიძლება მათი გამოყენება interchangeably მთელ სემინარს. 95 00:05:28,270 --> 00:05:34,090 >> მაგრამ, თქვენ ნახავთ, რომ ჩვენ გვაქვს მეთოდები Objective-C ვიდრე ფუნქციები. 96 00:05:34,090 --> 00:05:36,390 და მეთოდები ეკუთვნის ობიექტები. 97 00:05:36,390 --> 00:05:38,950 ასე რომ, ისევე, როგორც, შესაძლოა, მიიღოს მაგალითად, node - 98 00:05:38,950 --> 00:05:40,250 ჩვენი type [INAUDIBLE] 99 00:05:40,250 --> 00:05:44,390 კვანძის ეხლა pset 6 ან 5 - 100 00:05:44,390 --> 00:05:49,590 ჩვენ სიტყვა, ქონების, ან მომდევნო კვანძის მაჩვენებელი. 101 00:05:49,590 --> 00:05:53,880 მეთოდები, უბრალოდ ფუნქციები შიგნით გარკვეული სტრუქტურა. 102 00:05:53,880 --> 00:05:57,510 >> ასე რომ, ამ შემთხვევაში, სტრუქტურა იქნება ობიექტი, და მაშინ მეთოდი 103 00:05:57,510 --> 00:05:59,260 რაღაც რომ ეკუთვნის ობიექტი. 104 00:05:59,260 --> 00:06:02,650 და ეს არის, თუ როგორ აცხადებენ, სახის, მეთოდი. 105 00:06:02,650 --> 00:06:07,990 თქვენ უნდა დაიწყოს, კიდევ ერთხელ, დაბრუნება ტიპი - ასე რომ, მე შევეცადე ფერი 106 00:06:07,990 --> 00:06:12,990 კოდექსის გასაღები სიტყვა აქ ასე რომ თქვენ ბიჭები ხედავთ, მინიმუმ, გაფორმებით 107 00:06:12,990 --> 00:06:17,650 მსგავსება შორის ფუნქცია დეკლარაციები და საშუალებას დეკლარაციებს. 108 00:06:17,650 --> 00:06:21,990 ასე რომ, თქვენ დაიწყოს, თქვენ იცით, დაბრუნება type - ამ შემთხვევაში, ეს მასივი, ან 109 00:06:21,990 --> 00:06:23,910 NSArray მაჩვენებელი - 110 00:06:23,910 --> 00:06:26,710 და მაშინ თქვენ ამ მეთოდით. 111 00:06:26,710 --> 00:06:30,900 და მაშინ, რა არის საინტერესო აქ არის რომ ნაცვლად, რომელმაც ფრჩხილებში, ჩვენ 112 00:06:30,900 --> 00:06:32,900 აქვს ამ colons. 113 00:06:32,900 --> 00:06:38,450 და მაშინ, თვალწინ ჩვენი არგუმენტები, ჩვენ მა, კიდევ ერთხელ, ფრჩხილებში ტიპის 114 00:06:38,450 --> 00:06:39,370 ჩვენი არგუმენტი. 115 00:06:39,370 --> 00:06:43,160 >> ასე რომ, ახლა მე ვცდილობ, რათა შედარება, თქვენ იცით, N და 116 00:06:43,160 --> 00:06:45,450 ნომერი, ან, რადგან ისინი ორივე როგორიცაა ints. 117 00:06:45,450 --> 00:06:49,580 და შემდეგ, მეორე არის NSUInteger ტიპის. 118 00:06:49,580 --> 00:06:56,390 და მაშინ, Objective-C, როცა მინდა მქონდეს არგუმენტები 119 00:06:56,390 --> 00:07:00,030 თქვენი მეთოდი პუნქტი, თქვენ, სახის, ცალკე მათ სახის მოსწონს ეს - 120 00:07:00,030 --> 00:07:03,790 მე არ ვარ საკმაოდ დარწმუნებული როგორ აღწერს მას, მაგრამ ეს არის კარგი მაგალითი იმისა, თუ როგორ 121 00:07:03,790 --> 00:07:06,530 შეიძლება მქონდეს არგუმენტები არსებობს. 122 00:07:06,530 --> 00:07:10,360 >> თქვენ შეიძლება, რა თქმა უნდა, მხოლოდ სრულიად იგნორირება andArray colon NSArray 123 00:07:10,360 --> 00:07:13,240 array თუ უნდოდა მხოლოდ ერთი მეთოდი რომ იღებს ერთი არგუმენტი. 124 00:07:13,240 --> 00:07:13,677 დიახ, კითხვა. 125 00:07:13,677 --> 00:07:18,701 >> აუდიტორია: ორივე NSUInteger და NSArray არგუმენტები, რომ შეიძლება იქნას 126 00:07:18,701 --> 00:07:21,530 ფარგლებში NSArray? 127 00:07:21,530 --> 00:07:22,060 >> RHED SHI: დიახ. 128 00:07:22,060 --> 00:07:23,400 ასე რომ, ნება მომეცით აგიხსნათ. 129 00:07:23,400 --> 00:07:23,790 ასე რომ, დიახ. 130 00:07:23,790 --> 00:07:30,260 ასე რომ, კითხვა არის NSUInteger და NSArray * ტიპის არგუმენტები, 131 00:07:30,260 --> 00:07:31,570 და ეს სწორია. 132 00:07:31,570 --> 00:07:35,700 ასე რომ, თქვენ ყოველთვის გვინდა დააკონკრეტა, თუ რა გაცნობის თქვენი არგუმენტი. 133 00:07:35,700 --> 00:07:41,570 და აქ, მე ვცდილობ რომ წარმოგიდგინოთ ზოგიერთი სინტაქსი და vocab of 134 00:07:41,570 --> 00:07:45,910 Objective-C, ამიტომ ეს არის ფაქტობრივი ტიპი რომ თქვენ უნდა საქმე. 135 00:07:45,910 --> 00:07:48,970 >> და როგორც თქვენ შეამჩნევთ, კოლექტორები აღარ არიან, სახის, 136 00:07:48,970 --> 00:07:50,780 მარტივი bracket რამ. 137 00:07:50,780 --> 00:07:52,060 ისინი ობიექტები. 138 00:07:52,060 --> 00:07:56,700 მიუხედავად იმისა, რომ, თუ ჩვენ წასვლა მომდევნო slide, ჩვენ ვხედავთ, რომ ჩვენ შეგვიძლია 139 00:07:56,700 --> 00:08:02,510 მყარი კოდი NSArray Objective-C ერთად უბრალოდ ერთი სიმბოლო წინაშე 140 00:08:02,510 --> 00:08:04,190 ფრჩხილებში. 141 00:08:04,190 --> 00:08:08,650 მე არ ვარ, რეალურად, სრულიად დარწმუნებული, I syntactically მყარი კოდირებული მასივი 142 00:08:08,650 --> 00:08:16,020 სწორად C ვერსია, მაგრამ ეს არის ის, უნდა იყოს C მასივი. 143 00:08:16,020 --> 00:08:19,760 >> ასე რომ, ეს არის ის, თუ როგორ, თქვენ იცით, შესაძლოა გამოიყენოთ ფუნქცია ან 144 00:08:19,760 --> 00:08:21,990 მეთოდები, რომ ჩვენ ადრე შექმნილი. 145 00:08:21,990 --> 00:08:22,250 უფლება? 146 00:08:22,250 --> 00:08:25,340 ასე რომ, ეს არის, სადაც ჩვენ ვაცხადებთ ჩვენი ფუნქცია და ჩვენი მეთოდი. 147 00:08:25,340 --> 00:08:28,020 და ახლა ჩვენ გვინდა გამოვიყენოთ მათი ჩვენი პროგრამა, და ეს არის 148 00:08:28,020 --> 00:08:29,450 როგორ უნდა გავაკეთოთ. 149 00:08:29,450 --> 00:08:32,400 ასე რომ, C, თქვენ უნდა, თქვენ იცით, ალბათ, bool b, და თქვენ მას 150 00:08:32,400 --> 00:08:36,549 გაუტოლდება ფუნქცია, და შემდეგ თქვენ კორიდორი არგუმენტები. 151 00:08:36,549 --> 00:08:39,190 >> Objective-C, ეს საკმაოდ ბევრად იგივე. 152 00:08:39,190 --> 00:08:43,370 თქვენ გაქვთ NSArray * my_array, და ეს აპირებს გაუტოლდება - ახლა, მხოლოდ 153 00:08:43,370 --> 00:08:47,460 განსხვავება აქ არის ამ ობიექტის რამ, რომელიც მე მონიშნულია ყვითელი და 154 00:08:47,460 --> 00:08:51,180 როგორც ხედავთ, C, არსებობს არა სხვა ყვითელი სიტყვა. 155 00:08:51,180 --> 00:08:54,170 და ეს იმიტომ, რომ მეთოდები ეკუთვნის გარკვეული ობიექტი. 156 00:08:54,170 --> 00:08:59,800 ასე რომ, ამიტომ მე უნდა ობიექტი რომ, სახის, უწოდებს ამ მეთოდით 157 00:08:59,800 --> 00:09:04,360 ნომერი ნულოვანი და შემდეგ NSArray a, b, c, d. 158 00:09:04,360 --> 00:09:05,350 ნებისმიერი კითხვები რომ? 159 00:09:05,350 --> 00:09:12,190 >> ჩვენ დავინახავთ, ეს ცნებები აქცია საკმაოდ მალე, როდესაც ჩვენ წასვლას დემო. 160 00:09:12,190 --> 00:09:13,400 OK. 161 00:09:13,400 --> 00:09:17,170 ახლა, მინდა გაიგო ცოტა მოკლედ შესახებ Xcode 5, რომელიც არის 162 00:09:17,170 --> 00:09:21,160 ინტეგრირებული განვითარება გარემოს რომ თქვენ უნდა მუშაობა. 163 00:09:21,160 --> 00:09:26,160 მე ვიცი, რომ ბევრი თქვენგანი, ან შენ, არ გაქვთ Macs, რომელიც არის პრობლემა 164 00:09:26,160 --> 00:09:30,490 რადგან Xcode არ არის შესაძლებელი Windows და PC. 165 00:09:30,490 --> 00:09:32,785 არ მკითხოთ რატომ, მაგრამ ალბათ - 166 00:09:32,785 --> 00:09:33,730 yeah, კორპორატიული. 167 00:09:33,730 --> 00:09:35,290 როგორიც არ უნდა იყოს. 168 00:09:35,290 --> 00:09:39,360 მაგრამ მაინც, ასე რომ, მე ბოდიშს, თუ ზოგიერთი თქვენ უნდა ჩამოტვირთოთ გარკვეული 169 00:09:39,360 --> 00:09:43,000 ვირტუალური მანქანა for Mac in იმისათვის, რომ აწარმოებს Xcode 5. 170 00:09:43,000 --> 00:09:46,460 მაგრამ ეს არის საკმაოდ nifty პროგრამული უზრუნველყოფის გამოყენება. 171 00:09:46,460 --> 00:09:51,280 >> ასე რომ, სანამ ჩვენ ჩაყვინთვის შევიდა ნებისმიერი სახის დემო, მინდა გაჩვენოთ 172 00:09:51,280 --> 00:09:55,700 სურათს რა Xcode ჰგავს თქვენი window და შემდეგ საუბრობენ 173 00:09:55,700 --> 00:09:57,670 რა მთელი ეს სივრცე. 174 00:09:57,670 --> 00:10:01,600 ასე რომ, ეს სახის მოსწონს სწავლობენ გამოიყენოთ Microsoft Word, გარდა გსურთ 175 00:10:01,600 --> 00:10:04,675 გაეცნოს ყველა სხვადასხვა რამ, რომ 176 00:10:04,675 --> 00:10:06,250 მიმდინარეობს აქ. 177 00:10:06,250 --> 00:10:11,160 >> ასე რომ, პირველ რიგში, მინდა აღვნიშნო, რომ თქვენ to პანელი ზედა. 178 00:10:11,160 --> 00:10:14,450 თქვენ ნახავთ, რომ ზედა, თქვენ ფაილის სახელი - 179 00:10:14,450 --> 00:10:18,100 ან, ფაქტობრივად, თქვენი პროექტის სახელწოდება და შემდეგ თქვენი ფაილის სახელი. 180 00:10:18,100 --> 00:10:20,940 მხედველობაში პიესა და გაჩერება ღილაკებით. 181 00:10:20,940 --> 00:10:24,210 ეს არის პირობა, რომ თქვენ უნდა გამოყენებით აწარმოებს თქვენი app შესახებ 182 00:10:24,210 --> 00:10:25,600 სიმულატორი - 183 00:10:25,600 --> 00:10:26,550 iOS სიმულატორი. 184 00:10:26,550 --> 00:10:29,940 ეს ავტომატურად მოყვება Xcode 5, ასე რომ თქვენ არ უნდა ფიქრი 185 00:10:29,940 --> 00:10:32,070 ჩამოტვირთვის გარკვეული სიმულატორი. 186 00:10:32,070 --> 00:10:34,700 უბრალოდ დააჭირეთ play და მაშინ იგი გადის თქვენი app. 187 00:10:34,700 --> 00:10:39,230 და შეგიძლიათ ითამაშოთ გარშემო თქვენთან ერთად, და თქვენ ნახავთ თუ როგორ მუშაობს შემდეგ. 188 00:10:39,230 --> 00:10:42,690 >> და შემდეგ, ქალაქის ცენტრში, რა თქმა უნდა, სადაც ყველა თქვენი ლამაზი კოდია 189 00:10:42,690 --> 00:10:44,240 აპირებს წავიდეს. 190 00:10:44,240 --> 00:10:48,340 და შემდეგ, მარცხენა მხარეს, თქვენ აქვს ამ, სახის, ფოლდერი - 191 00:10:48,340 --> 00:10:50,340 ნავიგაცია - 192 00:10:50,340 --> 00:10:53,970 და მაშინ, თქვენ ასევე ვხედავთ, რომ ერთად ერთად საქაღალდეში ხატი, არსებობს 193 00:10:53,970 --> 00:10:57,680 bunch სხვა ხატები, რომ სასარგებლო იქნება მოგვიანებით. 194 00:10:57,680 --> 00:11:04,710 >> და შემდეგ, მარჯვენა მხარეს არის სასარგებლო ტერიტორია, სადაც შეგიძლიათ მუშაობა 195 00:11:04,710 --> 00:11:09,620 ზოგიერთი ობიექტი და დააკონკრეტა, თქვენ ვიცით, რა ფერი უნდა იყოს, რა 196 00:11:09,620 --> 00:11:12,040 ტექსტის შრიფტი უნდა იყოს, et cetera. 197 00:11:12,040 --> 00:11:15,890 მიუხედავად იმისა, რომ ყველაფერი, რასაც აკეთებთ ამ სასარგებლო ფართი, შეგიძლიათ 198 00:11:15,890 --> 00:11:17,480 გავაკეთოთ კოდი ისევე. 199 00:11:17,480 --> 00:11:21,630 ასე რომ, მე გადის ორ მაგალითები გამოყენება, უბრალოდ, არ კოდი at 200 00:11:21,630 --> 00:11:23,730 ყველა - ან ძალიან მინიმალური კოდი - 201 00:11:23,730 --> 00:11:28,290 ლექსები ყველა კოდი, მხოლოდ ისე, რომ თქვენ ბიჭები იცით, რა შეგიძლიათ და არ შეუძლია გააკეთოს 202 00:11:28,290 --> 00:11:29,260 Xcode და Objective-C. 203 00:11:29,260 --> 00:11:32,770 >> და მაშინ, საბოლოოდ, ქვემოთ ბოლოში, თქვენ გაქვთ გამართვის ფართობი. 204 00:11:32,770 --> 00:11:37,270 ასე რომ, თქვენ აღარ აწარმოებს GDB, et cetera, თქვენს პროგრამებში. 205 00:11:37,270 --> 00:11:39,180 ეს ავტომატურად აკეთებს იგი თქვენთვის. 206 00:11:39,180 --> 00:11:42,880 და ასევე შეგიძლიათ ბეჭდვა პერსონალის ამ სფეროში. 207 00:11:42,880 --> 00:11:46,790 ასე რომ, რეალურად, მოგვიანებით, ჩვენ გავლა mario.c, თუ ბიჭები მაინც მახსოვს 208 00:11:46,790 --> 00:11:49,000 , რომ Xcode. 209 00:11:49,000 --> 00:11:50,360 ასე რომ, უნდა იყოს fun. 210 00:11:50,360 --> 00:11:55,870 >> და მაშინ, მხოლოდ მოიტანს უკან Objective-C, მინდა ხაზი გავუსვა, თუ რა 211 00:11:55,870 --> 00:11:57,440 შეგიძლიათ გააკეთოთ თუ განცხადებებს. 212 00:11:57,440 --> 00:12:03,160 ასე რომ, თქვენ იცით, იმიტომ, Objective-C არის superset C, ყველაფერი, რასაც აკეთებთ არის, 213 00:12:03,160 --> 00:12:06,890 ფაქტიურად, იგივე C. თქვენ უბრალოდ აქვს უმნიშვნელო განსხვავებები. 214 00:12:06,890 --> 00:12:10,810 ასე რომ, თქვენ შეამჩნევთ ფორმა თუ განაცხადი იგივეა - თქვენ გაქვთ 215 00:12:10,810 --> 00:12:14,280 თუ, და შემდეგ თქვენ უნდა ფრჩხილებში ერთად მდგომარეობა შიგნით, და მერე 216 00:12:14,280 --> 00:12:17,150 curly აფრთხილებს რასაც თქვენ გსურთ შიგნით არსებობს. 217 00:12:17,150 --> 00:12:21,680 >> თუმცა, მე მინდოდა, რომ ეს slide up აქ, უბრალოდ, ცხადყოფს, რომ, 218 00:12:21,680 --> 00:12:25,680 იმიტომ, რომ ჩვენ საქმე გვაქვს ობიექტების ახლა, ჩვენ უნდა გამოვიყენოთ ეს ყველაფერი 219 00:12:25,680 --> 00:12:31,240 მოუწოდა, როგორიცაა, უდრის ტექსტი, რომელიც არის ერთსა, მეთოდი 220 00:12:31,240 --> 00:12:33,710 სიმებიანი ან NSString ობიექტი. 221 00:12:33,710 --> 00:12:38,600 ასე რომ, სიტყვა, ამ შემთხვევაში, არის NSString წინააღმდეგი, და მას აქვს მეთოდი ეწოდება არის 222 00:12:38,600 --> 00:12:44,150 ტოლი სიმებიანი და მაშინ ჩვენ გავლის მძიმე კოდირებული string ვხედავ 223 00:12:44,150 --> 00:12:48,110 თუ არა იმ ტოლია ერთმანეთს. 224 00:12:48,110 --> 00:12:51,580 >> ნებისმიერი კითხვები აქამდე? 225 00:12:51,580 --> 00:12:52,440 OK. 226 00:12:52,440 --> 00:12:56,190 და, მინდა წასვლა განთავსების განცხადებაში ასევე. 227 00:12:56,190 --> 00:13:01,420 >> ასე მაგალითად, თუ გვინდოდა loop მეტი სიგრძეზე სიმებიანი C, ამ 228 00:13:01,420 --> 00:13:03,710 უნდა იყოს ნაცნობი თქვენ. 229 00:13:03,710 --> 00:13:07,840 და, Objective-C, მე მინდა ხაზი გავუსვა ამ, სახის, 230 00:13:07,840 --> 00:13:09,235 მეთოდი ეწოდება რაოდენობა. 231 00:13:09,235 --> 00:13:13,260 232 00:13:13,260 --> 00:13:15,550 ისე, რეალურად, ნება მომეცით მხოლოდ მიიღოს, რომ უკან. 233 00:13:15,550 --> 00:13:17,200 გრაფი მეთოდი მასივი. 234 00:13:17,200 --> 00:13:21,070 თუმცა, ეს უფრო კონკრეტულად ქონების მასივი, რის გამოც თქვენ 235 00:13:21,070 --> 00:13:22,380 შეგიძლიათ გამოიყენოთ dot ნოტაცია. 236 00:13:22,380 --> 00:13:25,870 მაგრამ მე არ მინდა ჩავერთო ზედმეტად ამ კონცეპტუალური პერსონალი, მინდა 237 00:13:25,870 --> 00:13:30,140 აჩვენებს, თუ როგორ რამ გამოიყურება როგორც Objective-C წინააღმდეგ C. 238 00:13:30,140 --> 00:13:35,400 >> და ასევე, მე მინდა აღვნიშნო, რომ მიუხედავად იმისა, რომ მე გამოყენებით NSUInteger 239 00:13:35,400 --> 00:13:39,860 თვალწინ ჩემი i ის Objective-C, ასევე, შეგიძლიათ გამოიყენოთ int, რადგან int არის 240 00:13:39,860 --> 00:13:42,290 სრულიად მართებული Objective-C, ასევე. 241 00:13:42,290 --> 00:13:42,475 დიახ? 242 00:13:42,475 --> 00:13:44,350 >> აუდიტორია: Is it just სტილისტური, ან - 243 00:13:44,350 --> 00:13:44,760 >> RHED SHI: ჰო. 244 00:13:44,760 --> 00:13:46,060 ასე რომ, როგორც თქვენ ნახავთ - 245 00:13:46,060 --> 00:13:49,390 ასე რომ, საკითხი იყო ის არის, რომ უბრალოდ სტილისტური საკითხი. 246 00:13:49,390 --> 00:13:54,820 როგორც თქვენ ნახავთ, მე მაქვს, სახის, ვარსკვლავი ვარსკვლავით რამ ქვემოთ ბოლოში და 247 00:13:54,820 --> 00:13:59,870 ბმული გადაგიყვანთ Stack Overflow შექმნას, სადაც ვინმე განმარტავს, 248 00:13:59,870 --> 00:14:03,640 განსხვავება int in NSInteger და NSUInteger. 249 00:14:03,640 --> 00:14:05,540 და ასე შემდეგ, შეგიძლიათ წაიკითხოთ ამის შესახებ მოგვიანებით. 250 00:14:05,540 --> 00:14:07,640 ეს სლაიდები იქნება, რა თქმა უნდა, ხელმისაწვდომი. 251 00:14:07,640 --> 00:14:10,300 252 00:14:10,300 --> 00:14:11,280 >> ვნახოთ. 253 00:14:11,280 --> 00:14:12,150 OK, გასაოცარია. 254 00:14:12,150 --> 00:14:15,410 ასე რომ, ეს ასევე შედის slide რადგან ვფიქრობდი, რომ ეს იყო დიდი 255 00:14:15,410 --> 00:14:19,370 ნახვა, რომელიც წარუდგენს თქვენ to Objective-C სინტაქსი. 256 00:14:19,370 --> 00:14:24,410 ასე რომ, რეალურად, რატომ არ გვაქვს გადავა Chrome და შეამოწმეთ ეს საიტი? 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> უფლება. 259 00:14:31,300 --> 00:14:36,670 ასე რომ, რაც მე მინდა გაჩვენოთ ბიჭები აქ არის ამ იმიჯი. 260 00:14:36,670 --> 00:14:41,630 ასე რომ, ეს არის ის, სახის, იქნება რა თქვენ აპირებს ვხედავ შიგნით ნებისმიერი 261 00:14:41,630 --> 00:14:42,890 Xcode ფაილი. 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 სინამდვილეში, რატომ არ გვაქვს მხოლოდ მიიღოს მომენტი, სახის, რომ ეს შემოსული 264 00:14:51,430 --> 00:14:53,470 >> ასე რომ, ეს წიგნაკი - 265 00:14:53,470 --> 00:14:55,880 რომ ობიექტი, რომელიც ჩვენ საქმე გვაქვს. 266 00:14:55,880 --> 00:14:59,680 და შემდეგ, ის აშკარად იქნება მემკვიდრეობით რამდენიმე სხვა ობიექტი, მაგრამ 267 00:14:59,680 --> 00:15:01,810 თქვენ არ უნდა ფიქრი, რომ. 268 00:15:01,810 --> 00:15:04,430 და შემდეგ, ეს, ალბათ, აქვს ზოგიერთ წევრ ცვლადები. 269 00:15:04,430 --> 00:15:09,160 >> მთავარია მე მინდა გაჩვენოთ არის მაგალითად მეთოდები, აქ. 270 00:15:09,160 --> 00:15:12,670 ასე რომ, მაგალითად მეთოდები აღნიშნა ამ მინუსის სიმბოლოსაგან. 271 00:15:12,670 --> 00:15:15,550 და მაშინ, როგორც თქვენ შეამჩნევთ, ჩვენ უკვე დაწყებული ვხედავ პარადიგმა 272 00:15:15,550 --> 00:15:17,670 განთავსების საშუალებას დეკლარაცია, არა? 273 00:15:17,670 --> 00:15:22,670 დაბრუნების ტიპის, მეთოდის სახელი, და მაშინ ტიპის არგუმენტი, და 274 00:15:22,670 --> 00:15:24,660 მერე სახელით არგუმენტი. 275 00:15:24,660 --> 00:15:29,090 და ეს მინუს ნიშანი ნიშნავს, რომ ის მაგალითად მეთოდით, რაც იმას ნიშნავს, 276 00:15:29,090 --> 00:15:32,270 ეს მეთოდები ხელმისაწვდომია მხოლოდ ობიექტი, რომელიც უკვე ხდება. 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> განსხვავებით, რომ, მეთოდები პლუს მოაწეროს წინ მათგანი კლასი 279 00:15:39,100 --> 00:15:43,640 მეთოდები, რაც იმას ნიშნავს, რომ შეგიძლიათ დარეკოთ ეს მეთოდები, მაშინაც კი თუ თქვენ არ გაქვთ 280 00:15:43,640 --> 00:15:45,970 ობიექტი განთავსებულია ამჟამად. 281 00:15:45,970 --> 00:15:51,600 ასე რომ, ამის ნათელი მაგალითია, NSString არის კლასი. 282 00:15:51,600 --> 00:15:55,850 და შეგიძლიათ დარეკოთ, მაგალითად, კლასი მეთოდების NSString - 283 00:15:55,850 --> 00:15:58,660 ფაქტობრივი, ისევე, სიტყვა NSString. 284 00:15:58,660 --> 00:16:02,050 >> თუმცა, იმისათვის, რომ გამოიყენოთ ეს მეთოდები, თქვენ ნამდვილად 285 00:16:02,050 --> 00:16:03,460 უნდა შევქმნათ string. 286 00:16:03,460 --> 00:16:08,980 მაგალითად, NSString star string შეადგენს at ბრჭყალებით, hello მსოფლიოში. 287 00:16:08,980 --> 00:16:10,910 და შემდეგ, თქვენ შეგიძლიათ გამოიყენოთ ეს მეთოდები - 288 00:16:10,910 --> 00:16:11,990 მაგალითად მეთოდები - 289 00:16:11,990 --> 00:16:14,790 რომ Hello World string. 290 00:16:14,790 --> 00:16:17,825 ასე რომ, სხვაობა მაგალითად, მეთოდები და კლასი მეთოდები. 291 00:16:17,825 --> 00:16:20,390 292 00:16:20,390 --> 00:16:21,930 >> და, ჩვენ უბრალოდ დაფარული ამ ნაწილში. 293 00:16:21,930 --> 00:16:25,300 294 00:16:25,300 --> 00:16:33,750 თვისებები კიდევ ერთი რამ, რომ შიგნით ობიექტების, ძირითადად. 295 00:16:33,750 --> 00:16:37,530 და აცხადებენ, მათ at ქონების სიტყვით. 296 00:16:37,530 --> 00:16:39,940 თქვენ გაქვთ ეს პარამეტრები, აქ, რომ მე ახსნას მოგვიანებით, როცა 297 00:16:39,940 --> 00:16:43,110 ჩვენ წასვლას დემო. 298 00:16:43,110 --> 00:16:43,660 დიახ? 299 00:16:43,660 --> 00:16:43,950 Hi. 300 00:16:43,950 --> 00:16:45,440 >> აუდიტორია: იქნებ მიუახლოვდით, გთხოვთ? 301 00:16:45,440 --> 00:16:46,130 >> RHED SHI: ჰო. 302 00:16:46,130 --> 00:16:46,560 უკაცრავად. 303 00:16:46,560 --> 00:16:49,140 >> აუდიტორია: დიდი მადლობა. 304 00:16:49,140 --> 00:16:50,005 >> RHED SHI: ეს უნდა იყოს უკეთესი. 305 00:16:50,005 --> 00:16:51,240 >> აუდიტორია: Yeah. 306 00:16:51,240 --> 00:16:53,940 დიდი მადლობა. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Yeah, გთხოვთ მაგონებს, თუ I დაგავიწყდეთ მასშტაბის გასაზრდელად ან დააშორებს. 308 00:16:56,815 --> 00:17:00,590 309 00:17:00,590 --> 00:17:03,570 ასე რომ, ეს ყველაფერი მინდოდა რათა ნახოთ თქვენ - 310 00:17:03,570 --> 00:17:05,970 Whoa, რომ ბევრი - 311 00:17:05,970 --> 00:17:06,790 ამ ნახვა. 312 00:17:06,790 --> 00:17:12,210 ასე რომ, მოდით დავუბრუნდეთ სლაიდები. 313 00:17:12,210 --> 00:17:17,819 >> რეალურად, ახლა მოდით მიიღოს მომენტში ჩაყვინთვის შევიდა დემო. 314 00:17:17,819 --> 00:17:25,490 ასე რომ, დავიწყოთ ახალი Xcode პროექტი. 315 00:17:25,490 --> 00:17:33,040 ასე რომ, თუ თქვენ გახსნას Xcode ყველა თქვენი მანქანები, ეს უნდა თქვენ გარკვეული 316 00:17:33,040 --> 00:17:36,720 გვერდი, სადაც იგი აცხადებს, ისევე, როგორც ღია up არსებული პროექტი ან ახალი 317 00:17:36,720 --> 00:17:39,230 პროექტი, და თქვენ უნდა დაწკაპეთ ახალი პროექტი. 318 00:17:39,230 --> 00:17:41,477 და შემდეგ, მან უნდა აიღოს თქვენ ამ ეკრანზე. 319 00:17:41,477 --> 00:17:41,593 დიახ? 320 00:17:41,593 --> 00:17:44,279 >> აუდიტორია: თუ ჩვენ არ აქვს Mac, ჩვენ უბრალოდ სახის chill? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: ან გამორჩა ვინმე, yeah. 322 00:17:46,870 --> 00:17:47,740 ჰო. 323 00:17:47,740 --> 00:17:50,660 თქვენ შეგიძლიათ chill, ძალიან. 324 00:17:50,660 --> 00:17:51,570 OK. 325 00:17:51,570 --> 00:17:55,410 >> ასე რომ, რასაც ჩვენ ვაპირებთ გავაკეთოთ პირველი, ახლა, არის, ფაქტობრივად, ჩვენ ვაპირებთ, რომ გავაკეთოთ 326 00:17:55,410 --> 00:17:56,600 ერთი ხედი განაცხადის. 327 00:17:56,600 --> 00:18:01,340 ასე რომ, თუ თქვენ შეამჩნევთ, რა დიდი შესახებ Xcode და Apple მხარდაჭერა 328 00:18:01,340 --> 00:18:05,690 დეველოპერები, რომ თქვენ გაქვთ ბევრი თარგები მუშაობა უკვე. 329 00:18:05,690 --> 00:18:09,210 თქვენ შეიძლება, მაგალითად, მიიღოს საძიებო დეტალურად განაცხადი. 330 00:18:09,210 --> 00:18:10,920 შეგიძლიათ თამაში - 331 00:18:10,920 --> 00:18:13,860 და რეალურად, მე არ შევალ თამაშები, იმის გამო, რომ თამაშები სხვადასხვა ამბავი 332 00:18:13,860 --> 00:18:15,320 for iOS განვითარებას. 333 00:18:15,320 --> 00:18:18,930 და ისინი სახის გამოყოფა, ასე რომ მე არ შევალ, რომ. 334 00:18:18,930 --> 00:18:22,580 >> მაშინ, თქვენ არ გვერდი დაფუძნებული პროგრამები. 335 00:18:22,580 --> 00:18:24,010 თქვენ გაქვთ tab განაცხადი - 336 00:18:24,010 --> 00:18:29,350 ასე რომ, მინდა, მაგალითად, Bank of America ალბათ, ისევე, tabbed app. 337 00:18:29,350 --> 00:18:32,140 ეს პირობა, სადაც თქვენ უნდა ღილაკები ბოლოში. 338 00:18:32,140 --> 00:18:34,750 და შემდეგ, თქვენ გაქვთ Sprite Kit თამაში. 339 00:18:34,750 --> 00:18:38,670 >> ან თქვენ შეგიძლიათ იმუშაოთ ნულიდან, რომელიც არის ის, რასაც ჩვენ გავაკეთებთ მოგვიანებით. 340 00:18:38,670 --> 00:18:42,470 მაგრამ მოდით, პირველ რიგში, იწყება ერთი ხედი განაცხადის. 341 00:18:42,470 --> 00:18:48,590 ამის შემდეგ, იგი ყველაფერს ითხოვენ პროდუქტის სახელი, და ჩვენ შეგვიძლია უბრალოდ ტესტი. 342 00:18:48,590 --> 00:18:50,190 ორგანიზაციის დასახელება - 343 00:18:50,190 --> 00:18:54,140 ასე რომ, ორგანიზაციის დასახელება, კომპანია იდენტიფიკატორი - 344 00:18:54,140 --> 00:18:58,100 ეს მნიშვნელოვანია, თუ თქვენ აპირებს დააყენოს თქვენი app on App Store. 345 00:18:58,100 --> 00:19:01,110 346 00:19:01,110 --> 00:19:05,116 გარდა ამისა, თქვენი კოდი აპირებს აწარმოებს აბსოლუტურად ჯარიმა გარეშე. 347 00:19:05,116 --> 00:19:09,940 >> ეს იქნება მნიშვნელოვანი, თუ მინდა - ასე რომ, თავისთავად, ისევე, თქვენს app 348 00:19:09,940 --> 00:19:14,080 onto თქვენი ტელეფონი ან რამე, და ტესტი ის, რომ თქვენ იცით, რეალურ ცხოვრებაში - 349 00:19:14,080 --> 00:19:15,360 ეს იქნება მნიშვნელოვანი. 350 00:19:15,360 --> 00:19:20,110 ეს ტენდენცია, როგორც წესი, ასოცირდება გარკვეული დეველოპერი ანგარიში 351 00:19:20,110 --> 00:19:20,970 Apple. 352 00:19:20,970 --> 00:19:24,740 >> ასე რომ, მე ვიცი, ალბათ, ბევრი თქვენგანი არ ექნება დეველოპერი ანგარიშები. 353 00:19:24,740 --> 00:19:26,460 მე ვიცი, რომ უნივერსიტეტს გააჩნია ერთი. 354 00:19:26,460 --> 00:19:27,630 მე ვფიქრობ, რომ CS ერთი. 355 00:19:27,630 --> 00:19:32,770 მაგრამ, თქვენ მომაწოდეთ და ვეცდები გაერკვნენ, რომ თქვენ. 356 00:19:32,770 --> 00:19:38,210 მაგრამ ახლა, მე უბრალოდ დასვა ზოგიერთი placeholder რამ აქ. 357 00:19:38,210 --> 00:19:41,250 >> და შეგიძლიათ, რა თქმა უნდა, აქ, აირჩიოს თუ გსურთ, რომ იყოს მხოლოდ 358 00:19:41,250 --> 00:19:44,410 iPhone, iPad in, ან ორივე ერთად - 359 00:19:44,410 --> 00:19:46,630 უნივერსალური პროგრამა. 360 00:19:46,630 --> 00:19:56,170 ასე რომ, ახლა, მოდით უნივერსალური, უბრალოდ ვხედავ ორივე მხარეს პლატფორმა. 361 00:19:56,170 --> 00:19:57,120 >> ვნახოთ. 362 00:19:57,120 --> 00:20:01,510 ასე რომ, ახლა, მე ვაპირებ გადარჩენა იგი გარკვეული საქაღალდეში. 363 00:20:01,510 --> 00:20:04,500 არ აქვს მნიშვნელობა, სადაც - თქვენ ყოველთვის შეგიძლიათ გადაადგილება იგი მოგვიანებით. 364 00:20:04,500 --> 00:20:09,380 და, ახლა, ჩვენ მოუტანა ჩვენს Xcode პროექტი. 365 00:20:09,380 --> 00:20:12,890 მე არ აღელვებს ეს ყველაფერი. 366 00:20:12,890 --> 00:20:17,510 მინდა ვარაუდობენ არ ეხება რაიმე ამ, თუ თქვენ იცით ზუსტად რა 367 00:20:17,510 --> 00:20:18,260 თქვენ აკეთებთ. 368 00:20:18,260 --> 00:20:21,750 ასე რომ, ყველა ამ, უბრალოდ იგნორირება ყველაზე ნაწილი. 369 00:20:21,750 --> 00:20:26,940 თქვენ არ უნდა შეეხოთ მას, და თუ თქვენ mess up ზოგიერთი რამ აქ, 370 00:20:26,940 --> 00:20:28,600 იღებს პატარა სახიფათო. 371 00:20:28,600 --> 00:20:32,480 >> ასე რომ, რატომ არ გადავხედავთ ფაილი 372 00:20:32,480 --> 00:20:34,700 მარცხენა მხარეს ჩვენი ნავიგატორი. 373 00:20:34,700 --> 00:20:37,060 აქ, ჩვენ გვაქვს AppDelegate.h. 374 00:20:37,060 --> 00:20:43,430 ჩვენ AppDelegate.m ასე რომ, როგორც თქვენ ცნობა, ჩვენ header ფაილი, რომელიც 375 00:20:43,430 --> 00:20:45,720 დასრულდება dot h, და ჩვენ განხორციელება - 376 00:20:45,720 --> 00:20:46,970 ფაქტობრივად, ნება მომეცით zoom სისტემაში 377 00:20:46,970 --> 00:20:56,270 378 00:20:56,270 --> 00:20:57,060 OK. 379 00:20:57,060 --> 00:20:59,940 ნება მომეცით zoom სისტემაში 380 00:20:59,940 --> 00:21:05,810 >> უფლება, ასე რომ თქვენ არ header ფაილი და თქვენ გაქვთ განხორციელების ფაილი. 381 00:21:05,810 --> 00:21:07,060 რეალურად - 382 00:21:07,060 --> 00:21:08,680 383 00:21:08,680 --> 00:21:09,240 OK. 384 00:21:09,240 --> 00:21:11,800 ეს არის პატარა უცნაური, მაგრამ აგებს ჩემთან ერთად. 385 00:21:11,800 --> 00:21:16,140 მაშინ, იმიტომ, რომ ჩვენ მიერ არჩეული ერთ კალენდარი განაცხადი, ჩვენ ვაპირებთ, რომ იყოს 386 00:21:16,140 --> 00:21:17,340 მუშაობის storyboard. 387 00:21:17,340 --> 00:21:22,140 >> ასე რომ, storyboard არის ის, რომ Apple დადგა ერთად ნამდვილად დაეხმარება 388 00:21:22,140 --> 00:21:26,550 დეველოპერები სწრაფად პროტოტიპი მათი პროგრამა. 389 00:21:26,550 --> 00:21:29,410 ასე რომ, ეს არის, სადაც თქვენ შეგიძლიათ შექმნათ app გარეშე წერა 390 00:21:29,410 --> 00:21:31,710 ერთი ხაზი კოდი. 391 00:21:31,710 --> 00:21:35,390 თუმცა, ჩვენი ერთ კალენდარი განაცხადს, ჩვენ არ, რა თქმა უნდა, აქვს 392 00:21:35,390 --> 00:21:41,270 ფაილი ჩვენი აზრით, რომელიც არის მოსაზრება, კონტროლერი. 393 00:21:41,270 --> 00:21:45,150 ასე რომ, ჩვენ ზედა და შესრულების ფაილი აქ. 394 00:21:45,150 --> 00:21:52,350 >> და მე ვაპირებ დააშორებს, რადგან ჩვენ გვჭირდება მუშაობა storyboard. 395 00:21:52,350 --> 00:21:55,190 ასე რომ, აქ ჩვენი აზრით. 396 00:21:55,190 --> 00:22:00,120 თუ ჩვენ, უბრალოდ, აწარმოებს app ახლა, იქ არ არის ბევრი საინტერესო ხდება. 397 00:22:00,120 --> 00:22:03,270 398 00:22:03,270 --> 00:22:05,040 ასე რომ, თქვენ ნახავთ ამ თეთრ ეკრანზე. 399 00:22:05,040 --> 00:22:06,110 OK? 400 00:22:06,110 --> 00:22:14,010 >> და, ჩვენი კომუნალური ტერიტორია, ჩვენ შეგვიძლია დავამატოთ bunch სხვადასხვა რამ არის. 401 00:22:14,010 --> 00:22:19,290 ასე რომ, როდესაც თქვენ საქმე ეკრანები in iOS, ხედი კონტროლერები არიან 402 00:22:19,290 --> 00:22:23,150 ობიექტები, რომ encapsulate, სახის, თქვენი შეხედულებები. 403 00:22:23,150 --> 00:22:26,980 ასე რომ, ხედი კონტროლერი ყოველთვის აქვს ქონება მოუწოდა ხედი. 404 00:22:26,980 --> 00:22:29,610 და რომ ხედი, როგორც წესი, შეიცავს, თქვენ იცით, თუ რა 405 00:22:29,610 --> 00:22:30,810 გვინდა, რომ ეკრანზე. 406 00:22:30,810 --> 00:22:39,210 >> ასე რომ, კარგად, მოდით უბრალოდ დავიწყოთ იმით, ალბათ, იქნებ იარლიყი. 407 00:22:39,210 --> 00:22:41,450 ასე რომ, მოდით დააყენა ეტიკეტების არსებობს - 408 00:22:41,450 --> 00:22:44,080 გამყარებაში მას ცენტრიდან. 409 00:22:44,080 --> 00:22:49,560 ასე რომ, ახლა რომ მე დაწკაპავთ ეტიკეტების, I შეგიძლიათ შეხვიდეთ თვისებები ინსპექტორი 410 00:22:49,560 --> 00:22:51,510 და დაიწყოს იცვლება მისი ღირებულება. 411 00:22:51,510 --> 00:22:55,040 მოდით ეძახით CS50 Colours. 412 00:22:55,040 --> 00:22:58,220 >> და მე ასევე შეგიძლიათ შეცვალოთ შრიფტი. 413 00:22:58,220 --> 00:23:02,630 ასე რომ, ნაცვლად აკეთებს სისტემა, რომელიც რა, ჩვენ შეგვიძლია გავაკეთოთ საბაჟო ერთი. 414 00:23:02,630 --> 00:23:03,770 ჩვენ შეგვიძლია შევცვალოთ - 415 00:23:03,770 --> 00:23:06,453 თქვენ იცით, Ultralight, რათა ის 32. 416 00:23:06,453 --> 00:23:09,000 417 00:23:09,000 --> 00:23:11,370 და შემდეგ, ჩვენ შეგვიძლია ჩვენი ყუთი დიდია. 418 00:23:11,370 --> 00:23:14,410 >> აუდიტორია: როგორ ფიქრობთ, თქვენ შეგიძლიათ გაადიდოთ რაღაც ცოტა მეტი, იქნებ? 419 00:23:14,410 --> 00:23:14,810 >> RHED SHI: ჰო? 420 00:23:14,810 --> 00:23:16,196 OK. 421 00:23:16,196 --> 00:23:17,450 >> აუდიტორია: Just Tap ეს? 422 00:23:17,450 --> 00:23:19,020 >> RHED SHI ვნახოთ. 423 00:23:19,020 --> 00:23:20,382 მუშაობს ეს? 424 00:23:20,382 --> 00:23:22,270 >> აუდიტორია: Just გაივლის Xcode? 425 00:23:22,270 --> 00:23:23,520 >> RHED SHI: რა თქმა უნდა. 426 00:23:23,520 --> 00:23:25,620 427 00:23:25,620 --> 00:23:25,940 OK. 428 00:23:25,940 --> 00:23:26,275 გასაოცარია. 429 00:23:26,275 --> 00:23:27,072 >> აუდიტორია: ეტიკეტების ქვეშ? 430 00:23:27,072 --> 00:23:28,920 ეტიკეტების? 431 00:23:28,920 --> 00:23:29,480 >> RHED SHI: რა არის ეს? 432 00:23:29,480 --> 00:23:32,050 >> აუდიტორია: რა ჩამოსაშლელი იყო label ქვეშ? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: ასე რომ, კითხვა იყო, თუ რა ჩამოსაშლელი იყო label ქვეშ? 434 00:23:35,170 --> 00:23:37,260 ეს უნდა, უბრალოდ, დაექვემდებარება აქ. 435 00:23:37,260 --> 00:23:39,330 ვფიქრობ, ეს კუბი რამ. 436 00:23:39,330 --> 00:23:40,910 მაგრამ, როგორც წესი, ეს არის default - 437 00:23:40,910 --> 00:23:43,250 მე უბრალოდ აპირებს ქვემოთ აქ სანამ მე იარლიყი. 438 00:23:43,250 --> 00:23:45,800 439 00:23:45,800 --> 00:23:47,730 ჰო. 440 00:23:47,730 --> 00:23:48,950 >> ახლა, ჩვენ გვაქვს ჩვენი იარლიყი. 441 00:23:48,950 --> 00:23:51,040 მოდით ცენტრში მას. 442 00:23:51,040 --> 00:23:56,410 და Xcode გვაძლევს guidelines განთავსების centering ობიექტები. 443 00:23:56,410 --> 00:23:59,510 444 00:23:59,510 --> 00:24:01,480 ასე რომ, ახლა მოდით აწარმოებს ჩვენი კოდი, კიდევ ერთხელ. 445 00:24:01,480 --> 00:24:08,110 446 00:24:08,110 --> 00:24:08,800 >> იქ ჩვენ წავიდეთ. 447 00:24:08,800 --> 00:24:10,310 ასე რომ, ჩვენ CS50 Colours. 448 00:24:10,310 --> 00:24:13,720 449 00:24:13,720 --> 00:24:15,420 და ახლა, მოდით დააყენა ღილაკს იქ, არა? 450 00:24:15,420 --> 00:24:17,480 იმის გამო, რომ ჩვენ გვსურს ამ ინტერაქტიული. 451 00:24:17,480 --> 00:24:19,410 ასე რომ, მოდით დააყენა ღილაკს აქ. 452 00:24:19,410 --> 00:24:39,020 და ჩვენ მოვუწოდებთ ამ ღილაკს "ჩამოსასხმელი აქ გაგრძელება. "ჩვენ ცენტრში, ასევე 453 00:24:39,020 --> 00:24:39,990 სინამდვილეში, ის უკვე ორიენტირებული. 454 00:24:39,990 --> 00:24:40,630 ჰო. 455 00:24:40,630 --> 00:24:43,130 >> ასე რომ, ახლა ჩვენ ღილაკს. 456 00:24:43,130 --> 00:24:53,000 და თუ ჩვენ აწარმოებს ეს კიდევ ერთხელ, ჩვენ ვაპირებთ აქვს ლამაზი პატარა ღილაკი აქ. 457 00:24:53,000 --> 00:24:56,520 და შემიძლია დააჭირეთ მას, მაგრამ იგი ამას არ გააკეთებს არაფერს, რადგან ჩვენ არ კეთდება 458 00:24:56,520 --> 00:24:58,500 არაფერი ღილაკს არავის გაუკეთებია. 459 00:24:58,500 --> 00:25:01,740 >> ასე რომ, მოდით შევქმნათ კიდევ ერთი ხედი, არა? 460 00:25:01,740 --> 00:25:04,160 ასე რომ, ვთქვათ, მინდა ჩამოსასხმელი რომ ღილაკს და მინდა 461 00:25:04,160 --> 00:25:05,730 გადადით სხვა გვერდზე - 462 00:25:05,730 --> 00:25:06,820 კიდევ ერთი ხედი. 463 00:25:06,820 --> 00:25:14,440 რა მე ვაპირებ ამის გაკეთებას, მე შეგიძლიათ შექმნათ კალენდარი კონტროლერი, არა? 464 00:25:14,440 --> 00:25:19,690 ახლა მე დააკლიკეთ ჩემი ღილაკს და შემდეგ, მთავარია, მე ვაპირებ 465 00:25:19,690 --> 00:25:20,910 დააჭირეთ - ან - 466 00:25:20,910 --> 00:25:23,660 დიახ, დააჭირეთ კონტროლის ჩემს კლავიატურაზე. 467 00:25:23,660 --> 00:25:24,880 კონტროლი. 468 00:25:24,880 --> 00:25:27,005 დააჭირეთ ღილაკს და შემდეგ გადაიტანეთ. 469 00:25:27,005 --> 00:25:29,960 470 00:25:29,960 --> 00:25:33,550 >> ასე რომ, გახსოვდეთ გამართავს კონტროლის გასაღები. 471 00:25:33,550 --> 00:25:35,160 მოდით, რომ ერთხელ. 472 00:25:35,160 --> 00:25:40,930 ასე რომ, გამართავს კონტროლი, დააწკაპუნეთ და გადაათრიეთ რა გსურთ. 473 00:25:40,930 --> 00:25:41,520 OK. 474 00:25:41,520 --> 00:25:43,610 >> და ახლა, მე მაქვს რამდენიმე ვარიანტი აქ. 475 00:25:43,610 --> 00:25:47,900 მე შეგიძლიათ დააყენებს, ან შემიძლია მოდალური, ან შემიძლია საბაჟო. 476 00:25:47,900 --> 00:25:50,900 Push მხოლოდ თუ აქვს ნავიგაცია კონტროლერი. 477 00:25:50,900 --> 00:25:54,270 ახლა, ჩვენი პირველი კალენდარი კონტროლერი არ არის შიგნით ნებისმიერი 478 00:25:54,270 --> 00:25:55,610 ნავიგაცია კონტროლერი. 479 00:25:55,610 --> 00:25:59,500 ასე რომ, ნავიგაცია კონტროლერი არის ერთი რომ გაძლევთ back ღილაკს 480 00:25:59,500 --> 00:26:03,910 iOS app, სადაც თქვენ იცით, რომ ყველაზე, სახის, სქელი ბარი - 481 00:26:03,910 --> 00:26:06,480 სადაც შეგიძლიათ დაბრუნდეს, ან ველით, et cetera. 482 00:26:06,480 --> 00:26:07,740 ახლა, მე არ მაქვს, რომ. 483 00:26:07,740 --> 00:26:11,050 და ასე შემდეგ, ამიტომ არ შემიძლია ბიძგი. 484 00:26:11,050 --> 00:26:12,480 >> ასე რომ, მე დაწკაპავთ ბიძგი შემთხვევით აქ. 485 00:26:12,480 --> 00:26:16,480 და რეალურად, მოდით აწარმოებს კოდი, და ეს უნდა ავარიული ჩემზე. 486 00:26:16,480 --> 00:26:19,770 487 00:26:19,770 --> 00:26:22,960 მხოლოდ იმ შემთხვევაში, მე დააჭირეთ ღილაკს თუმცა, ასე - 488 00:26:22,960 --> 00:26:23,420 უფლება. 489 00:26:23,420 --> 00:26:26,480 ასე რომ, ეს არის ცუდი. 490 00:26:26,480 --> 00:26:31,330 >> და, როგორც ხედავთ, აქ, ჩვენ აქვს შეცდომა. 491 00:26:31,330 --> 00:26:35,460 ასე რომ, "Push segues შეიძლება გამოყენებულ იქნეს მხოლოდ მაშინ, როდესაც წყარო კონტროლერი მართავს 492 00:26:35,460 --> 00:26:40,700 მაგალითად UI ნავიგაცია კონტროლერი. " ასე რომ, იმიტომ, რომ ეს არ იყო შიგნით 493 00:26:40,700 --> 00:26:44,030 ნავიგაცია კონტროლერი, მე ვერ გავაკეთოთ, რომ. 494 00:26:44,030 --> 00:26:48,782 >> ასე რომ, ახლა, მე ვაპირებ უკან საქაღალდე, ბრუნდება storyboard. 495 00:26:48,782 --> 00:26:51,680 >> აუდიტორია: რა ნავიგაცია კონტროლერი, ისევ? 496 00:26:51,680 --> 00:26:55,260 >> RHED SHI: ასე რომ, ახლა მე შენ გაჩვენებ. 497 00:26:55,260 --> 00:26:56,200 ვნახოთ. 498 00:26:56,200 --> 00:27:00,510 ასე რომ, მე ვაპირებ დააჭირეთ ამ თვალსაზრისით კონტროლერი, და შემდეგ მე ვაპირებ წასვლა 499 00:27:00,510 --> 00:27:03,920 მდე პროდუქტი - 500 00:27:03,920 --> 00:27:06,240 რეალურად, არა, უკაცრავად - რედაქტორი. 501 00:27:06,240 --> 00:27:08,360 და მე ვაპირებ წასვლას - 502 00:27:08,360 --> 00:27:09,350 რეალურად, მე დაწკაპეთ იგი? 503 00:27:09,350 --> 00:27:10,070 პოსტები 504 00:27:10,070 --> 00:27:11,080 იქ ჩვენ წავიდეთ. 505 00:27:11,080 --> 00:27:16,270 მე ვაპირებ წასვლა up შევიდა რედაქტორი, დაცემას ხმა, და შემდეგ ნავიგაცია 506 00:27:16,270 --> 00:27:17,520 კონტროლერი. 507 00:27:17,520 --> 00:27:20,130 508 00:27:20,130 --> 00:27:20,720 >> OK. 509 00:27:20,720 --> 00:27:27,750 და, ჩემი სამუშაო გამოიყურება ნამდვილად რთული, მოდით გაწმენდა ამ up. 510 00:27:27,750 --> 00:27:29,000 ასე რომ, ყველა ამ storyboard. 511 00:27:29,000 --> 00:27:32,510 512 00:27:32,510 --> 00:27:33,760 და ამ გზით - 513 00:27:33,760 --> 00:27:37,030 514 00:27:37,030 --> 00:27:38,280 OK, შეჩერება - 515 00:27:38,280 --> 00:27:49,320 516 00:27:49,320 --> 00:27:50,860 შემიძლია სწრაფად ავაშენოთ რამე მოსწონს ეს. 517 00:27:50,860 --> 00:27:53,020 და შემდეგ, ახლა შემიძლია დავუბრუნდეთ, თქვენ იცით? 518 00:27:53,020 --> 00:27:55,730 >> მაგრამ ეს არის ერთგვარი მოსაწყენი, არა? 519 00:27:55,730 --> 00:28:03,020 ასე რომ, რაც მე მინდა ამის გაკეთება, მე არ მინდა, რათა, უბრალოდ, ხედი 520 00:28:03,020 --> 00:28:03,870 კონტროლერი. 521 00:28:03,870 --> 00:28:07,720 ვთქვათ მინდოდა რეალურად მიიღოს ცხრილის კონტროლერი, ასე რომ შეგიძლიათ განათავსოთ 522 00:28:07,720 --> 00:28:12,110 ზოგიერთი ლამაზი ფერები, ცხრილში. 523 00:28:12,110 --> 00:28:16,210 >> ასე რომ, ახლა რომ მე დააყენა ჩემი ცხრილის კონტროლერი, მე უნდა დააკავშირებს უკან 524 00:28:16,210 --> 00:28:18,560 ამ ღილაკს კალენდარი კონტროლერი. 525 00:28:18,560 --> 00:28:21,780 ასე რომ, მე უნდა გავაკეთებ კონტროლი, click, drag რამ ერთხელ. 526 00:28:21,780 --> 00:28:27,318 და ახლა შემიძლია ბიძგი, იმიტომ, რომ მე ხმა ის შიგნით ნავიგაცია კონტროლერი. 527 00:28:27,318 --> 00:28:32,210 >> აუდიტორია: Navigation controller მხოლოდ საშუალებას გაძლევთ წავიდეთ ადგილზე? 528 00:28:32,210 --> 00:28:33,540 >> RHED SHI: დიახ. 529 00:28:33,540 --> 00:28:38,670 ასე რომ, უფრო ტექნიკურად, ეს ობიექტი, სადაც - 530 00:28:38,670 --> 00:28:43,150 ასე რომ, შიგნით ნავიგაცია კონტროლერი ობიექტი, 531 00:28:43,150 --> 00:28:44,780 ინახავს ტრეკზე მასივი. 532 00:28:44,780 --> 00:28:48,300 და რომ მასივი ფლობს ყველა შემდგომი ნახოთ კონტროლერები. 533 00:28:48,300 --> 00:28:51,560 ამიტომ, როდესაც თქვენ დააჭირეთ დაბრუნება, ის მიდის უკან წინა გვერდზე. 534 00:28:51,560 --> 00:28:55,260 იმის გამო, ნავიგაცია კონტროლერი ობიექტი, ან კოდი, რომელიც ზრუნავს 535 00:28:55,260 --> 00:28:58,890 ეს ობიექტი, აქვს მასივი, რომელიც ინარჩუნებს აკონტროლოთ ეს კალენდარი კონტროლერები და 536 00:28:58,890 --> 00:29:01,870 შეიძლება მაშინ, თქვენ იცით, DQ კალენდარი კონტროლერი და მოგცემთ უკან 537 00:29:01,870 --> 00:29:02,750 წინა. 538 00:29:02,750 --> 00:29:05,200 >> ასე რომ, ეს არის ტექნიკური პერსონალი, მაგრამ - 539 00:29:05,200 --> 00:29:07,505 და მე შენ გაჩვენებ შემდეგ კოდი, თუ ჩვენ გვაქვს დრო. 540 00:29:07,505 --> 00:29:10,270 მე სახის გაშვებული გარეთ დრო, მაგრამ - 541 00:29:10,270 --> 00:29:15,610 >> ასე რომ, მაგიდასთან აზრით, რა შეგვიძლია გავაკეთოთ არის - 542 00:29:15,610 --> 00:29:18,440 ეს, როგორც წესი ავტომატურად მითითებული დინამიური Prototype - 543 00:29:18,440 --> 00:29:20,640 ჩვენ ვაპირებთ, რათა ის Static საკნები, წინააღმდეგ შემთხვევაში, ჩვენ ვაპირებთ 544 00:29:20,640 --> 00:29:22,920 გადაეყარონ გარკვეული პრობლემები. 545 00:29:22,920 --> 00:29:28,470 >> და მაშინ, ვთქვათ, მე ვაპირებ აქვს ერთი განყოფილება. 546 00:29:28,470 --> 00:29:31,000 ასე რომ, სექციები ჰგავს - 547 00:29:31,000 --> 00:29:35,160 თუ თქვენ ოდესმე მინახავს მუსიკა app, როდესაც თქვენ უნდა მხატვრების, სექციები იქნებოდა 548 00:29:35,160 --> 00:29:37,830 იყოს მისი მეშვეობით Z's - 549 00:29:37,830 --> 00:29:38,780 წერილები - 550 00:29:38,780 --> 00:29:42,600 და მაშინ თქვენ იცით, ინდივიდუალური რიგები იქნება მხატვრის სახელები. 551 00:29:42,600 --> 00:29:47,460 ასე რომ, რა მაგარი აქ, არის ის, რომ მე არ შემიძლია წვდომის ყველა ობიექტების შიგნით 552 00:29:47,460 --> 00:29:50,430 ჩემი storyboard მეშვეობით ჩამოსაშლელი მენიუ, ძალიან. 553 00:29:50,430 --> 00:29:56,600 >> ასე რომ, მე ვაპირებ დააკლიკეთ ჩემი განყოფილებიანი, და მე მინდა, თქვენ იცით, იქნებ ხუთი რიგები. 554 00:29:56,600 --> 00:30:00,770 და მაშინ, შიგნით თითოეული ზედიზედ, მინდა დააყენა იარლიყი. 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 და მე ვაპირებ მოვუწოდო ამ ლურჯი. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 და შემდეგ, მე მინდა დააყენოს UI აზრით, თქვენ ვიცი, იქნებ, ისევე, პატარა ყუთში. 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> ასე რომ, მე შემიძლია ადამიანი ესკიზი ფერი. 561 00:30:28,710 --> 00:30:34,150 და მე დაბრუნდეს ქონება და შეიცვალოს, რომ ფერი, oh, მე არ 562 00:30:34,150 --> 00:30:35,510 ვიცი, ეს ერთი. 563 00:30:35,510 --> 00:30:38,630 564 00:30:38,630 --> 00:30:43,150 >> და შემდეგ შეამჩნევთ, ასევე, აქ, როდესაც მე მაქვს აქსესუარები, შემიძლია ბევრი 565 00:30:43,150 --> 00:30:46,160 სხვადასხვა აქსესუარები რომ თქვენ, როგორც წესი, ვხედავთ. 566 00:30:46,160 --> 00:30:55,250 გამჟღავნება მაჩვენებელი, დეტალურად, ან შეამოწმეთ გასვლის შემდეგ, ან უბრალოდ უბრალოდ დეტალურად. 567 00:30:55,250 --> 00:30:59,080 ასე რომ, შესაძლოა, ჩვენ შეგვიძლია ამის გაკეთება, ისევე, გამჟღავნების მაჩვენებელი, მაგალითად. 568 00:30:59,080 --> 00:31:03,540 >> და მაშინ, რატომ არ ვიღებთ ამ, ასლი ჩასვით მათ, და ამით მათ 569 00:31:03,540 --> 00:31:06,740 მომდევნო გრაფაში. 570 00:31:06,740 --> 00:31:08,115 ასე რომ, ჩვენ შეიძლება მოვუწოდებთ ამ ყვითელი. 571 00:31:08,115 --> 00:31:10,620 572 00:31:10,620 --> 00:31:12,155 და მე ალბათ უნდა გააგრძელოს ეს. 573 00:31:12,155 --> 00:31:15,730 574 00:31:15,730 --> 00:31:17,290 მოდით ეს ყვითელი. 575 00:31:17,290 --> 00:31:20,610 და ამ გზით, ჩვენ შეგვიძლია კოპირება ჩასვით ჩვენი გზა down. 576 00:31:20,610 --> 00:31:24,910 577 00:31:24,910 --> 00:31:25,370 რა იყო ეს? 578 00:31:25,370 --> 00:31:26,620 Purple. 579 00:31:26,620 --> 00:31:30,020 580 00:31:30,020 --> 00:31:34,740 >> ასე რომ, ეს არის ყველა ტიპიური CS50 ფერები, რომ თქვენ ვნახე კლასის - 581 00:31:34,740 --> 00:31:37,160 ფაქტობრივად, ბოდიში - 582 00:31:37,160 --> 00:31:38,410 ან ნახვა. 583 00:31:38,410 --> 00:31:49,700 584 00:31:49,700 --> 00:31:51,260 იმედია ბიჭებს ვხედავ, რასაც მე ვაკეთებ აქ. 585 00:31:51,260 --> 00:31:57,270 586 00:31:57,270 --> 00:31:57,890 OK. 587 00:31:57,890 --> 00:31:58,490 ბოლო ერთი. 588 00:31:58,490 --> 00:32:02,040 >> აუდიტორია: როგორ თქვენ დაამატებთ ზედიზედ თავდაპირველად? 589 00:32:02,040 --> 00:32:04,740 >> RHED SHI: ასე რომ, კითხვა იყო, როგორ მე დაამატოთ row თავდაპირველად? 590 00:32:04,740 --> 00:32:07,500 მე შევიდა ამ მაგიდასთან სექცია - ან თუმცა შემიძლია 591 00:32:07,500 --> 00:32:09,200 აირჩიეთ მაგიდა სექცია - 592 00:32:09,200 --> 00:32:11,250 და შემდეგ, აქ, მე განახლება სტრიქონების რაოდენობა. 593 00:32:11,250 --> 00:32:19,920 594 00:32:19,920 --> 00:32:22,505 >> და ნება მიბოძეთ, იმედი მაქვს, რომ ეს სამუშაოები. 595 00:32:22,505 --> 00:32:30,620 596 00:32:30,620 --> 00:32:31,480 OK. 597 00:32:31,480 --> 00:32:32,870 ვნახოთ, თუ ეს სამუშაოები. 598 00:32:32,870 --> 00:32:34,000 Oh, სრულყოფილი, გასაოცარია. 599 00:32:34,000 --> 00:32:35,300 OK. 600 00:32:35,300 --> 00:32:40,330 ხოლო მე მშენებლობაზე ჩემი დემო, ზოგიერთი რამ არ შეესაბამება, ასე რომ, მადლობა 601 00:32:40,330 --> 00:32:42,510 ტაში. 602 00:32:42,510 --> 00:32:42,920 >> ჰო. 603 00:32:42,920 --> 00:32:44,770 ასე რომ, ვნახოთ. 604 00:32:44,770 --> 00:32:47,550 ჩვენ, რომ ეს ცხრა მხოლოდ იმისათვის, ყველაფერი - ან რეალურად, მოდით უბრალოდ 605 00:32:47,550 --> 00:32:51,420 ყველაფერი ეს თარგმნეს გამჟღავნება მაჩვენებლები. 606 00:32:51,420 --> 00:32:55,790 და შემდეგ, რა მინდა გაჩვენოთ, ძალიან, იყო, თუ როგორ მე შეუძლია მიიღოს თითოეული იმ 607 00:32:55,790 --> 00:32:59,230 მაგიდა რიგები და მათ ურთიერთქმედება - 608 00:32:59,230 --> 00:33:00,150 oh. 609 00:33:00,150 --> 00:33:01,400 პოსტები 610 00:33:01,400 --> 00:33:05,700 611 00:33:05,700 --> 00:33:06,030 >> Oh. 612 00:33:06,030 --> 00:33:07,230 გარდა ამისა, მე მინდა გაჩვენოთ - 613 00:33:07,230 --> 00:33:13,080 აქ, შემიძლია დააყენა ტიტული ჩემი ნავიგაცია კონტროლერი, არა? 614 00:33:13,080 --> 00:33:17,090 ასე რომ, რეალურად, თქვენ შეამჩნევთ, როგორც კი ჩართული ამ თვალსაზრისით კონტროლერი შიგნით 615 00:33:17,090 --> 00:33:22,010 ნავიგაციის კონტროლერი, ჩვენ ვხედავთ ამ ნავიგაციის პანელის ზედა ჩვენი 616 00:33:22,010 --> 00:33:25,340 storyboard წარმომადგენლობა საქართველოს კალენდარი კონტროლერი. 617 00:33:25,340 --> 00:33:29,270 ასე რომ, ეს გვაძლევს, ისევე, ვიზუალური, სახის, გიდის ჩვენს ჩანს ეკრანზე. 618 00:33:29,270 --> 00:33:34,360 ეს აშკარად აპირებს იყოს ნავიგაციის ბარი. 619 00:33:34,360 --> 00:33:40,950 >> და რა მინდა სწრაფად, ახლა, დააყენა მეორე - 620 00:33:40,950 --> 00:33:45,880 ასე რომ ამ ცხრილის კონტროლერი გავაკეთე მიერ აღების ერთი ამ და გადმოიყვანა იგი 621 00:33:45,880 --> 00:33:49,800 აქ, და რომ ის, რაც საშუალება მომცა სწრაფად, მართლაც, შევქმნათ ცხრილი კალენდარი 622 00:33:49,800 --> 00:33:50,850 კონტროლერი. 623 00:33:50,850 --> 00:33:54,100 თუ ჩვენ გვაქვს დრო, თუმცა, თქვენ ვხედავთ, რომ პროგრამულად, ეს 624 00:33:54,100 --> 00:33:57,660 ცოტა უფრო სახიფათო შევქმნათ ცხრილი კალენდარი კონტროლერი, იმიტომ, რომ იქ 625 00:33:57,660 --> 00:34:02,520 რამდენიმე მეთოდები, რომლებიც აუცილებელია, რომ თქვენ, სახის, წერენ 626 00:34:02,520 --> 00:34:07,130 იმისათვის, რომ ცხრილის კონტროლერი უნდა აისახოს სწორად. 627 00:34:07,130 --> 00:34:15,340 >> თუმცა, მინდა გაჩვენოთ, ახლა, მაგალითი, სადაც, თუ მე ამ, 628 00:34:15,340 --> 00:34:15,920 მაგალითად - 629 00:34:15,920 --> 00:34:18,290 მე დააყენა მეორე კალენდარი კონტროლერი. 630 00:34:18,290 --> 00:34:27,320 და ახლა, ვთქვათ, მინდა კონტროლი alt ჩემი პირველი ლურჯი 631 00:34:27,320 --> 00:34:28,980 გრაფაში აქ. 632 00:34:28,980 --> 00:34:31,070 და მე მინდა, რომ მოვუწოდო ამ ლურჯი. 633 00:34:31,070 --> 00:34:32,570 ხოლო შემდეგ - 634 00:34:32,570 --> 00:34:34,159 ვნახოთ. 635 00:34:34,159 --> 00:34:41,050 მე იმ აზრით, ახლა, და მე შეიძლება შეიცვალოს ფონზე ლურჯი ფერით. 636 00:34:41,050 --> 00:34:45,945 >> ასე რომ, ცნობა, აქ, ამ ჩამოსაშლელი მენიუს ასევე გაძლევთ იერარქიის ყველა 637 00:34:45,945 --> 00:34:47,040 ამ ობიექტების. 638 00:34:47,040 --> 00:34:50,530 ასე რომ, მნიშვნელოვანი რამ აღვნიშნო, რომ აქ, ის არის, რომ ყველა ამ საკითხზე, აქ - 639 00:34:50,530 --> 00:34:54,330 ამ ცხრილის კონტროლერი, მაგიდა აზრით, ცხრილის განყოფილებიანი, ცხრილის 640 00:34:54,330 --> 00:34:57,169 საკანში - ყველა მათგანი ობიექტების, კოდი. 641 00:34:57,169 --> 00:35:03,752 ასე რომ, თქვენ იცით, ეტიკეტების ახლა მზადების შინაარსი აზრით, et cetera. 642 00:35:03,752 --> 00:35:05,020 ა.შ. და ა.შ.. 643 00:35:05,020 --> 00:35:08,765 >> ასე რომ, თუ ჩვენ აწარმოებს ამ კოდი, ჩვენ უნდა დაინახოს რაღაც - 644 00:35:08,765 --> 00:35:15,816 645 00:35:15,816 --> 00:35:17,870 ვნახოთ, თუ ეს - yeah. 646 00:35:17,870 --> 00:35:18,670 ასე, რომ ჩვენ მივდივართ. 647 00:35:18,670 --> 00:35:22,120 მაგრამ, თუ ჩვენ არ გავაკეთებთ, რომ არცერთი ამ სხვა რამ მუშაობა. 648 00:35:22,120 --> 00:35:22,500 უფლება? 649 00:35:22,500 --> 00:35:23,800 ასე რომ, მხოლოდ ამ ერთი მუშაობს. 650 00:35:23,800 --> 00:35:29,100 და, გულისთვის, მე არ წასვლას, თქვენ იცით, აყენებს 651 00:35:29,100 --> 00:35:29,770 ქვემოთ სხვა. 652 00:35:29,770 --> 00:35:32,020 და ეს არის ბოლომდე, სახის, storyboard - 653 00:35:32,020 --> 00:35:33,400 რა მინდოდა ნახოთ თქვენ storyboard. 654 00:35:33,400 --> 00:35:36,330 655 00:35:36,330 --> 00:35:43,490 >> და, მე აქვს შემუშავებული, მაგალითად, რეალურად, უფლება აქ. 656 00:35:43,490 --> 00:35:48,090 ასე რომ, ეს არის storyboard რომ მე ადრე. 657 00:35:48,090 --> 00:35:52,740 ასე რომ, როგორც ხედავთ, ეს იყო ჩემი ნავიგაცია კონტროლერი. 658 00:35:52,740 --> 00:35:57,040 მაშინ მე მქონდა ჩემი პირველი კალენდარი კონტროლერი, მაშინ მქონდა ცხრილის კონტროლერი, 659 00:35:57,040 --> 00:35:58,980 და შემდეგ მე მქონდა ეს ყველაფერი - 660 00:35:58,980 --> 00:36:01,180 ასე რომ, ადრე, მე აკეთებდა რაღაც ძალიან განსხვავებული. 661 00:36:01,180 --> 00:36:04,450 ასე რომ, ამართლებს იმ რამ. 662 00:36:04,450 --> 00:36:07,930 მე ალბათ გაწმენდა it up მოგვიანებით ადრე I გააგზავნეთ off წარმოების. 663 00:36:07,930 --> 00:36:12,800 >> მაგრამ, თუ ჩვენ აწარმოებს ამ, ჩვენ დავინახავთ რომ ყველა ვარიანტები 664 00:36:12,800 --> 00:36:14,050 ჩვენს ხელთ არსებული. 665 00:36:14,050 --> 00:36:18,540 666 00:36:18,540 --> 00:36:21,320 გარდა მე არ მიიღოს ფონზე იმ ფერები. 667 00:36:21,320 --> 00:36:26,510 ასე რომ, ლამაზი მარტივი პროგრამა. 668 00:36:26,510 --> 00:36:28,340 >> ახლა, მოდით ვცდილობთ მოვაგვაროთ ამ პროგრამულად. 669 00:36:28,340 --> 00:36:31,270 670 00:36:31,270 --> 00:36:32,130 OK. 671 00:36:32,130 --> 00:36:37,570 ასე რომ, ამის გაკეთება, ჩვენ უბრალოდ აპირებს უნდა დაიწყოს ახალი Xcode პროექტი. 672 00:36:37,570 --> 00:36:41,920 ჩვენ, რომ ეს ცარიელი განცხადება ახლა, იმიტომ, რომ ჩვენ არ გვინდა, რომ აქვს 673 00:36:41,920 --> 00:36:42,380 storyboard. 674 00:36:42,380 --> 00:36:46,590 ასე რომ, მე უბრალოდ ზღუდავს თავს არ გამოიყენოთ რომელიმე storyboard და 675 00:36:46,590 --> 00:36:49,170 ცარიელი განაცხადი არ მომეცი storyboard. 676 00:36:49,170 --> 00:36:52,256 ეს არის თავიდან ასაცილებლად თავს მოტყუების. 677 00:36:52,256 --> 00:36:54,428 ვნახოთ. 678 00:36:54,428 --> 00:36:55,360 დაველოდოთ. 679 00:36:55,360 --> 00:36:55,960 მე - 680 00:36:55,960 --> 00:36:56,448 დიახ. 681 00:36:56,448 --> 00:36:57,698 OK. 682 00:36:57,698 --> 00:37:08,650 683 00:37:08,650 --> 00:37:09,180 >> უფლება. 684 00:37:09,180 --> 00:37:16,790 ასე რომ, აქ, ჩვენ მარცხენა არაფერია, თუ არა კოდი. 685 00:37:16,790 --> 00:37:19,460 ასე რომ, ნება მომეცით გადავიდეს ამ window ოდნავ მეტი. 686 00:37:19,460 --> 00:37:22,020 687 00:37:22,020 --> 00:37:22,260 უფლება. 688 00:37:22,260 --> 00:37:28,160 როგორც ხედავთ აქ, მხოლოდ ფაილი ჩვენ მოცემული არიან AppDelegate.h და dot 689 00:37:28,160 --> 00:37:30,500 მ, და ჩვენ არ გვაქვს storyboard უქმნით. 690 00:37:30,500 --> 00:37:39,580 >> ასე რომ, თუ ჩვენ აწარმოებს ამ, ჩვენ კვლავ აპირებს მიიღოს თეთრ ეკრანზე, მადლობა ღმერთს. 691 00:37:39,580 --> 00:37:42,280 OK - თეთრი ეკრანზე, მაგრამ არაფერი. 692 00:37:42,280 --> 00:37:45,260 და, აქ არის მნიშვნელოვანი ნაწილი. 693 00:37:45,260 --> 00:37:47,810 ეს არის სადაც მოქმედება ხდება. 694 00:37:47,810 --> 00:37:51,410 წინა ვერსიით, არსებობს როგორც წესი, არ კოდი აქ, მაგრამ 695 00:37:51,410 --> 00:37:55,600 storyboard არსებითად უზრუნველყოფს კოდი ამ ნაწილში. 696 00:37:55,600 --> 00:37:57,470 მე არ წასვლას დეტალები, თუ როგორ. 697 00:37:57,470 --> 00:38:02,890 >> და რა გვინდა ახლა, ჩვენ გვინდა წავიდეთ აქ და ეს პატარა სივრცე 698 00:38:02,890 --> 00:38:05,050 იწყება შექმნაში ჩვენი app ერთხელ. 699 00:38:05,050 --> 00:38:06,092 ასე რომ, - 700 00:38:06,092 --> 00:38:06,318 დიახ? 701 00:38:06,318 --> 00:38:07,450 >> აუდიტორია: Zoom? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: Zoom. 703 00:38:07,770 --> 00:38:09,020 ჰო, რა თქმა უნდა. 704 00:38:09,020 --> 00:38:13,940 705 00:38:13,940 --> 00:38:14,520 OK. 706 00:38:14,520 --> 00:38:17,380 მე აკრეფით, ასე რომ ეს არ უნდა ამ საკითხზე ძალიან ბევრი. 707 00:38:17,380 --> 00:38:17,940 OK. 708 00:38:17,940 --> 00:38:22,720 >> ასე რომ, პირველი, გვახსოვდეს, გვინდოდა, რომ შევქმნათ ნავიგაცია კონტროლერი, არა? 709 00:38:22,720 --> 00:38:27,090 და ასევე, როგორც ხედავთ აქ, Xcode აკეთებს მართლაც დიდი სამუშაო 710 00:38:27,090 --> 00:38:28,070 თვითმმართველობის შევსება. 711 00:38:28,070 --> 00:38:31,650 ასე რომ, როგორც თქვენ შეამჩნევთ, სახელები ყველაფერი ბევრი უფრო მეტია, ვიდრე 712 00:38:31,650 --> 00:38:33,910 ყოველთვის, მაგრამ Xcode ავსებს მას თქვენთვის. 713 00:38:33,910 --> 00:38:35,710 ასე, რომ შეიძლება უბრალოდ დააჭირეთ Enter-ს. 714 00:38:35,710 --> 00:38:40,180 >> ასე რომ, მინდა, რომ შევქმნათ UI ნავიგაცია კონტროლერი მაჩვენებელი, და შემიძლია ეძახით 715 00:38:40,180 --> 00:38:41,430 navigationController. 716 00:38:41,430 --> 00:38:43,040 717 00:38:43,040 --> 00:38:44,470 ახლა, რა გავაკეთო ახლა? 718 00:38:44,470 --> 00:38:49,510 ამის შემდეგ თანაბარი ნიშანი, მე უნდა, პირველ რიგში, შექმნა შიგნით მეხსიერება. 719 00:38:49,510 --> 00:38:53,790 ასე რომ, მე ვაპირებ ამის გაკეთებას NavigationController alloc - 720 00:38:53,790 --> 00:38:56,640 ასე რომ, ეს არის მსგავსი malloc, რომ თქვენ ბიჭები გამოიყენება C - 721 00:38:56,640 --> 00:38:58,400 და შემდეგ, მე ვაპირებ, რომ init იგი. 722 00:38:58,400 --> 00:39:03,670 >> ასე რომ, ეს მართლაც მნიშვნელოვანია, რომ ნებისმიერი ობიექტი, რომელიც თქვენ გსურთ 723 00:39:03,670 --> 00:39:04,940 alloc და init იგი. 724 00:39:04,940 --> 00:39:08,600 რომ აპირებს შექმნას და instantialize შიგნით მეხსიერება, და 725 00:39:08,600 --> 00:39:10,480 ახლა თქვენ შეგიძლიათ გამოიყენოთ იგი. 726 00:39:10,480 --> 00:39:10,780 ყველა უფლება? 727 00:39:10,780 --> 00:39:14,360 თუ თქვენ არ გავაკეთოთ, რომ თქვენი ობიექტის აკეთებს არ არსებობს, და თქვენ გადაეყარონ bunch 728 00:39:14,360 --> 00:39:17,290 პრობლემები. 729 00:39:17,290 --> 00:39:20,250 >> და შემდეგ, მე მინდა, რომ შევქმნათ კალენდარი კონტროლერი, არა? 730 00:39:20,250 --> 00:39:25,580 ასე რომ, მინდა, რომ შევქმნათ UIViewController star - 731 00:39:25,580 --> 00:39:29,620 ასე რომ, ყველაფერი არის მაჩვენებელი Objective-C, და მე ვაპირებ ამის გაკეთებას 732 00:39:29,620 --> 00:39:31,600 რაღაც მსგავსი, აქ - 733 00:39:31,600 --> 00:39:32,850 alloc, init. 734 00:39:32,850 --> 00:39:38,680 735 00:39:38,680 --> 00:39:40,150 OK. 736 00:39:40,150 --> 00:39:43,450 >> და მერე რა მე ვაპირებ ამის გაკეთებას, მე ვარ აპირებს, - ასე, გახსოვთ, როდესაც ჩვენ გავაკეთეთ 737 00:39:43,450 --> 00:39:45,360 embed in ნავიგაცია კონტროლერი? 738 00:39:45,360 --> 00:39:46,920 ეს არის, თუ როგორ გავაკეთოთ ეს კოდი. 739 00:39:46,920 --> 00:39:54,550 თქვენ ვაპირებთ navigationController 740 00:39:54,550 --> 00:39:55,780 pushViewController - 741 00:39:55,780 --> 00:39:57,636 >> აუდიტორია: [INAUDIBLE]. 742 00:39:57,636 --> 00:39:59,030 მოხდება ეს ჩვენთვის, ან -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: Oh, yeah. 744 00:40:00,080 --> 00:40:00,550 პოსტები 745 00:40:00,550 --> 00:40:02,740 მას მოსწონს ჩემთვის უკეთესი. 746 00:40:02,740 --> 00:40:04,670 არა, ეს ვიმუშავებთ თქვენთვის, ძალიან. 747 00:40:04,670 --> 00:40:06,700 ასე რომ, ეს არის ყველა მეთოდები. 748 00:40:06,700 --> 00:40:10,400 ასე pushViewController არის მეთოდი და ასევე, უფრო კონკრეტულად, ეს 749 00:40:10,400 --> 00:40:13,590 მაგალითად მეთოდი UI ნავიგაცია კონტროლერი. 750 00:40:13,590 --> 00:40:20,030 იმის გამო, რომ მე უნდა შეიქმნას ჩემი UI ნავიგაცია კონტროლერი ვარსკვლავი, და მერე 751 00:40:20,030 --> 00:40:24,510 შეგიძლიათ დარეკოთ ამ pushViewController ჩემი კონკრეტული მაგალითი UI ნავიგაცია 752 00:40:24,510 --> 00:40:25,010 კონტროლერი. 753 00:40:25,010 --> 00:40:29,490 >> აუდიტორია: არ გვაქვს ზუსტი სიტყვა, ან იგი უკვე არსებობს იგი? 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: დიახ, იმიტომ, რომ ეს მეთოდი. 755 00:40:31,380 --> 00:40:32,200 ეს მოსწონს ფუნქცია. 756 00:40:32,200 --> 00:40:33,330 ეს მოსწონს printf. 757 00:40:33,330 --> 00:40:34,390 ის მსგავსად scanf. 758 00:40:34,390 --> 00:40:36,250 ეს იგივეა strcompare. 759 00:40:36,250 --> 00:40:40,310 იმის გარდა რომ იცის, რა დაგვჭირდება ტიპის, და შეამჩნია, რომ ყოველთვის გექნებათ 760 00:40:40,310 --> 00:40:42,740 ამუშავება რამ არის ლეგალურად თქვენთვის. 761 00:40:42,740 --> 00:40:47,620 ასე რომ, თუ არაფერი ჩანს, აქ, შემდეგ რაღაც არასწორია. 762 00:40:47,620 --> 00:40:50,550 >> ასე რომ, pushViewController. 763 00:40:50,550 --> 00:40:52,580 ასე რომ, ახლა, მინდა დააყენებს ჩემი ახლად შექმნილი 764 00:40:52,580 --> 00:40:56,850 UIViewController და შემდეგ, ანიმაციური - 765 00:40:56,850 --> 00:40:57,470 ალბათ, არა. 766 00:40:57,470 --> 00:41:00,110 იმიტომ, რომ ეს იქნება პირველი კალენდარი კონტროლერი. 767 00:41:00,110 --> 00:41:03,210 ვგულისხმობ, მაშინაც კი, თუ მე არ მიიღოს ანიმაციური, ეს, ალბათ, არ გამოჩნდება, რადგან 768 00:41:03,210 --> 00:41:05,050 ეს პირველი ეკრანზე. 769 00:41:05,050 --> 00:41:06,540 >> და მახსოვს ფრჩხილებში. 770 00:41:06,540 --> 00:41:08,850 ასე რომ, მახსოვს, როგორ ჩვენ ფრჩხილებში? 771 00:41:08,850 --> 00:41:11,870 და შიგნით ფრჩხილებში, ობიექტის მოუწოდებს მეთოდი - 772 00:41:11,870 --> 00:41:15,910 ამიტომ ჩვენი მიზანია ნავიგაცია კონტროლერი, და მეთოდი ბიძგი 773 00:41:15,910 --> 00:41:17,210 კალენდარი კონტროლერი ანიმაციური. 774 00:41:17,210 --> 00:41:21,920 და ვნახოთ, როგორ იღებს ორ არგუმენტს, და ისინი გამოყოფილი, სახის, 775 00:41:21,920 --> 00:41:24,390 სიტყვა და მსხვილი ნაწლავის. 776 00:41:24,390 --> 00:41:28,300 ასე რომ, Objective-C ცდილობს, რათა ის ლამაზი და ადვილად წაიკითხოთ ხმამაღლა - 777 00:41:28,300 --> 00:41:33,020 თქვენი კოდი - და ეს ნახევრად, სახის, აზრი. 778 00:41:33,020 --> 00:41:37,150 >> თუმცა, აკეთებს მხოლოდ ამ არ არის საკმარისი. 779 00:41:37,150 --> 00:41:39,780 ნება მომეცით დააშორებს ახლა. 780 00:41:39,780 --> 00:41:44,210 აკეთებს მხოლოდ ეს არ არის საკმარისი იმისათვის, რომ კიდევ რა მივიღეთ ადრე. 781 00:41:44,210 --> 00:41:48,580 ასე რომ, აქ, თქვენ შეამჩნევთ, რომ არსებობს რეალურად არ იქნება რაიმე სახის 782 00:41:48,580 --> 00:41:50,190 ბარი, აქ, არა? 783 00:41:50,190 --> 00:41:54,680 არ არსებობს ნავიგაციის პანელი, რაც იმას ნიშნავს, რომ ჩვენ ჯერ კიდევ არ მიღებული იგი. 784 00:41:54,680 --> 00:41:58,850 >> და ჩვენ შეგიძლიათ შეამოწმოთ, რომ, ასევე, ალბათ, შეცვლის ფონზე 785 00:41:58,850 --> 00:42:00,460 ViewController, არა? 786 00:42:00,460 --> 00:42:01,710 ViewController.background-- 787 00:42:01,710 --> 00:42:03,155 788 00:42:03,155 --> 00:42:03,640 ah. 789 00:42:03,640 --> 00:42:07,690 ასე რომ, ვნახოთ, როგორ ViewController არ აქვს ფონის ფერი, მიუხედავად იმისა, რომ 790 00:42:07,690 --> 00:42:08,780 სასურველი ვებგვერდზე? 791 00:42:08,780 --> 00:42:14,080 და ეს იმიტომ, რომ ViewController არის კონტეინერი ხედი. 792 00:42:14,080 --> 00:42:19,490 ასე რომ, მას აქვს კალენდარი ქონება, რომელიც მაშინ აქვს ფონის ფერი. 793 00:42:19,490 --> 00:42:25,510 >> და, შემიძლია მითითებული ეს, ერთგვარი tediously, დარეკვით ფერი 794 00:42:25,510 --> 00:42:28,130 წლის UIColor ობიექტი. 795 00:42:28,130 --> 00:42:33,210 ასე რომ, გაფრთხილების აქ, redColor მეთოდი. 796 00:42:33,210 --> 00:42:36,750 ეს კლასი მეთოდი UIcolor. 797 00:42:36,750 --> 00:42:40,820 იმიტომ, რომ მე არ უნდა შევქმნათ ფაქტობრივი მაგალითად UIColor მიზნით 798 00:42:40,820 --> 00:42:42,020 მოვუწოდებთ საშუალებას მასზე. 799 00:42:42,020 --> 00:42:45,050 უბრალოდ, უბრალოდ, მას ტიპის მსგავსი სახელი. 800 00:42:45,050 --> 00:42:49,620 მე, ისევე, მოუწოდა მას int, int, თუ ჰქონდა, ისევე, როგორც, მეთოდი კი, მაგალითად. 801 00:42:49,620 --> 00:42:52,380 >> ასე რომ, თუ ჩვენ აწარმოებს ამ კოდი, ჩვენ შეამჩნევთ, რომ ფონზე 802 00:42:52,380 --> 00:42:53,540 რეალურად არ არის წითელი. 803 00:42:53,540 --> 00:42:54,790 მაინც თეთრი. 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 და როგორ შეგვიძლია მისაღებად გარშემო რომ არის, შეამჩნევთ, თუ როგორ არსებობს self.window. 806 00:43:04,550 --> 00:43:08,260 რომ არის, ისევე, საბოლოო კონტეინერი თქვენი განაცხადი. 807 00:43:08,260 --> 00:43:11,630 ეს არის საბოლოო, რაც შეიცავს ყველაფერი ეკრანზე, 808 00:43:11,630 --> 00:43:13,650 iPhone ან iPad პროგრამა. 809 00:43:13,650 --> 00:43:20,970 >> და მოხერხებულად, self.window აქვს ამ ქონების მოუწოდა 810 00:43:20,970 --> 00:43:22,650 rootViewController. 811 00:43:22,650 --> 00:43:26,480 და რომ იქნება მომცეთ პირველივე კალენდარი კონტროლერი შიგნით 812 00:43:26,480 --> 00:43:27,270 თქვენი app. 813 00:43:27,270 --> 00:43:32,000 ასე რომ, რა გვინდა აქ, ახლა, მითითებული, რომ თანაბარი ჩვენს ნავიგაცია 814 00:43:32,000 --> 00:43:32,710 კონტროლერი. 815 00:43:32,710 --> 00:43:33,760 უფლება? 816 00:43:33,760 --> 00:43:37,490 იმის გამო, რომ ტექნიკურად, ნავიგაცია კონტროლერი არის ჩვენი პირველი კალენდარი 817 00:43:37,490 --> 00:43:38,770 კონტროლერი. 818 00:43:38,770 --> 00:43:46,160 იგი ინახავს ტრეკზე მასივი სხვა კონტროლერები და ჩვენ მივიღებთ ამ 819 00:43:46,160 --> 00:43:49,810 კალენდარი კონტროლერი შევიდა, რომ მასივი ნავიგაციის კონტროლერი. 820 00:43:49,810 --> 00:43:52,640 >> ასე რომ, თქვენ არ გსურთ ამის გაკეთება. 821 00:43:52,640 --> 00:43:54,225 რომ არ ნამდვილად დაგეხმარებათ. 822 00:43:54,225 --> 00:43:58,040 გსურთ, თუ თქვენ სურდა ამის გაკეთება ნავიგაცია კონტროლერი, რომელიც საუკეთესო 823 00:43:58,040 --> 00:44:01,100 თქვენ, ალბათ, იმიტომ, რომ თქვენ გსურთ რომ, სახის, აქვს გარკვეული, 824 00:44:01,100 --> 00:44:04,840 როგორიცაა, მენიუში უნდა დაბრუნდეს ან რამდენიმე გვერდი დაბრუნდეს, ვიდრე 825 00:44:04,840 --> 00:44:05,470 ცარიელი ეკრანზე. 826 00:44:05,470 --> 00:44:05,920 დიახ? 827 00:44:05,920 --> 00:44:11,460 >> აუდიტორია: ეს არასასიამოვნო თქვენ მიუახლოვდით - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: ჰო. 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 ასე რომ, yeah. 831 00:44:15,720 --> 00:44:22,370 ეს არის კოდი, და ახლა მოდით შეამოწმოთ ის. 832 00:44:22,370 --> 00:44:27,920 >> ასე, რომ ჩვენ მივდივართ. 833 00:44:27,920 --> 00:44:29,170 Magic. 834 00:44:29,170 --> 00:44:30,960 835 00:44:30,960 --> 00:44:32,690 ასე რომ, OK. 836 00:44:32,690 --> 00:44:34,420 დიდი მადლობა. 837 00:44:34,420 --> 00:44:35,000 OK. 838 00:44:35,000 --> 00:44:38,690 ახლა, ის, რაც ჩვენ გვსურს რომ არის - ასე, ჩვენ სახის შემოიფარგლება, აქ, არა? 839 00:44:38,690 --> 00:44:45,130 ჩვენ შესაძლოა დაწერა ყველაფერი შიგნით ამ ერთი ფუნქცია. 840 00:44:45,130 --> 00:44:48,470 მაგრამ, რომ არა iOS განვითარების ჩვეულებრივ მუშაობს. 841 00:44:48,470 --> 00:44:53,030 >> ასე რომ, რასაც ჩვენ ვაპირებთ გავაკეთოთ არის, ჩვენ ვაპირებთ, რომ შევქმნათ რაღაც ახალი ფაილი. 842 00:44:53,030 --> 00:44:57,110 მაგრამ, უფრო კონკრეტულად, ჩვენ ვაპირებთ შევქმნათ კიდევ ერთი Objective-C კლასი, ან 843 00:44:57,110 --> 00:44:58,010 კიდევ ერთი ობიექტი - 844 00:44:58,010 --> 00:45:00,700 კლასი და ობიექტები ურთიერთშენაცვლებადი აქ. 845 00:45:00,700 --> 00:45:06,460 და, აქ როგორ შემეძლო, პოტენციურად, შევქმნათ კიდევ ერთი კლასი U კონტროლერები. 846 00:45:06,460 --> 00:45:12,030 >> ასე რომ, ეს ქვე კლასის, როგორც თქვენ შეამჩნევთ, აქ, ის sub-კლასი 847 00:45:12,030 --> 00:45:15,910 UI კალენდარი კონტროლერი, მაგრამ მე არ შემიძლია ეძახით ნებისმიერი სხვა სახელი აქ. 848 00:45:15,910 --> 00:45:19,400 მე ვერ ვუწოდებ ამ CS50, მე ვერ ვუწოდებთ ამ თვალსაზრისით კონტროლერი, მე ვერ ვუწოდებთ 849 00:45:19,400 --> 00:45:21,640 ამ blah კალენდარი კონტროლერი - 850 00:45:21,640 --> 00:45:22,400 არაფერი მინდა. 851 00:45:22,400 --> 00:45:24,140 ეს არის მხოლოდ სახელი კლასში. 852 00:45:24,140 --> 00:45:27,020 თუმცა, ეს იქნება მნიშვნელოვანი რადგან, არსებითად, რასაც მე ვაკეთებ 853 00:45:27,020 --> 00:45:29,720 აქ არის, მე შექმნაში მეორე დონის სახელი. 854 00:45:29,720 --> 00:45:34,140 ასე რომ, ეს იქნება, როგორც, ზოგიერთი სახის type ან ობიექტი. 855 00:45:34,140 --> 00:45:35,910 ასე რომ, ეს უნდა იყოს ცოტა generic. 856 00:45:35,910 --> 00:45:37,225 ეს არ იქნება ძალიან კონკრეტული. 857 00:45:37,225 --> 00:45:40,410 858 00:45:40,410 --> 00:45:44,480 >> და ასევე, მე მინდა აღვნიშნო აღნიშნული ორი ვარიანტი. 859 00:45:44,480 --> 00:45:48,430 იმიტომ, რომ ჩვენ ყველაფერს ვაკეთებთ იმისათვის, შიგნით კოდი, ზოგჯერ ეს არის ბევრი ადვილია 860 00:45:48,430 --> 00:45:53,540 რათა ინტერფეისი ფაილი, როგორიცაა, რომ შემიძლია სიტყვასიტყვით გადააადგილება, როგორც 861 00:45:53,540 --> 00:45:54,960 ჩვენ გავაკეთეთ ადრე storyboard - 862 00:45:54,960 --> 00:45:57,810 თქვენ იცით, ეტიკეტების, ან ღილაკს, ან რასაც სხვაგან. 863 00:45:57,810 --> 00:46:01,950 ასე რომ, xibs არის ფაილი, რომელიც საშუალებას გაძლევთ ამისათვის, და თქვენ უნდა Hook ეს მდე 864 00:46:01,950 --> 00:46:04,310 ამ თვალსაზრისით კონტროლერი ფაილი. 865 00:46:04,310 --> 00:46:06,540 >> ასე რომ, მე ვაპირებ შეგნებულად არ შეამოწმოთ ეს. 866 00:46:06,540 --> 00:46:12,510 როგორც წესი, მინდა შემოწმება, და თუ მე მხოლოდ ეს for iPhone ან iPad, I 867 00:46:12,510 --> 00:46:16,340 შემოწმება და უბრალოდ უნდა ერთი , თქვენ იცით, iPhone ან iPad. 868 00:46:16,340 --> 00:46:19,750 მაგრამ რადგან მე ვაკეთებ უნივერსალური, მე ვაპირებ შექმნათ ორი იმ მოგვიანებით. 869 00:46:19,750 --> 00:46:22,220 ასე რომ, მე ვაპირებ შეგნებულად მონიშვნის მოხსნა ეს. 870 00:46:22,220 --> 00:46:23,940 >> ეს არის ასევე მართლაც მნიშვნელოვანია. 871 00:46:23,940 --> 00:46:27,490 ბევრი ჯერ, მე მქონდა შეცდომები სადაც ეს არ არის გადამოწმებული. 872 00:46:27,490 --> 00:46:31,930 ასე რომ, რა თქმა უნდა, ეს ფაილი არ არის, სახის, როგორიცაა, შედის თუ იმპორტირებული 873 00:46:31,930 --> 00:46:33,740 შიგნით ამ test ფოლდერი. 874 00:46:33,740 --> 00:46:38,180 ასე რომ, ჩემი კოდი აბსოლუტურად არ ვიცი არსებობის ამ ფაილის და 875 00:46:38,180 --> 00:46:41,080 რომელიც იწვევს ბევრი ტკივილი და საათი გამართვის. 876 00:46:41,080 --> 00:46:44,360 მაგრამ, უბრალოდ დარწმუნდით, რომ ეს შემოწმება, ასე რომ რომ, თქვენ იცით, სამიზნე ეს 877 00:46:44,360 --> 00:46:47,510 ფაილი ამ პროგრამის. 878 00:46:47,510 --> 00:46:48,310 >> OK. 879 00:46:48,310 --> 00:46:51,680 ასე რომ, ახლა ჩვენ შევქმენით ორი ახალი ფაილი. 880 00:46:51,680 --> 00:46:54,050 და ეს ფაილი გამოიყურება საკმაოდ ცარიელი. 881 00:46:54,050 --> 00:46:59,550 და, ფაქტობრივად, მოდით გაგრძელდება მიერ შექმნაში XIB ფაილი. 882 00:46:59,550 --> 00:47:03,690 ასე რომ, ადრე, მე ვიყავი Cocoa Touch ჩამოსაშლელი. 883 00:47:03,690 --> 00:47:06,880 ახლა, მე ვაპირებ წასვლას მოხმარებელი ინტერფეისი touch, და როგორც ხედავთ, მე 884 00:47:06,880 --> 00:47:08,120 შეგიძლიათ შექმნათ storyboard. 885 00:47:08,120 --> 00:47:11,710 >> ასე რომ, თუნდაც დავიწყე ცარიელი განაცხადს, მე მაინც გამოყენება 886 00:47:11,710 --> 00:47:12,340 storyboard. 887 00:47:12,340 --> 00:47:15,480 მიუხედავად იმისა, რომ იგი იღებს სახიფათო თვალსაზრისით თუ როგორ გსურთ დაკავშირება 888 00:47:15,480 --> 00:47:16,820 რომ თქვენს კოდი. 889 00:47:16,820 --> 00:47:18,230 ასე რომ, მე არ წავალ იქ. 890 00:47:18,230 --> 00:47:22,160 >> მაგრამ, რა გვინდა ახლა შექმნა ხედი. 891 00:47:22,160 --> 00:47:25,720 და შეგიძლიათ iPhone ან iPad. 892 00:47:25,720 --> 00:47:30,180 და, როგორც წესი, უნდა აღინიშნოს განსხვავება - თუ თქვენ აკეთებთ 893 00:47:30,180 --> 00:47:31,950 უნივერსალური განაცხადი - 894 00:47:31,950 --> 00:47:35,980 თქვენ არც დააყენა ტირეთი iPhone, ან შეგიძლიათ გააკეთოთ Twiddly. 895 00:47:35,980 --> 00:47:36,980 ეს ნამდვილად არ აქვს. 896 00:47:36,980 --> 00:47:40,890 ეს უბრალოდ თქვენ დიფერენცირება რომელი მოსაზრებაა, რომლის მოწყობილობა. 897 00:47:40,890 --> 00:47:43,470 898 00:47:43,470 --> 00:47:44,430 >> და ასე შემდეგ, ახლა გამოიყურება. 899 00:47:44,430 --> 00:47:47,550 მაქვს ეკრანზე რომ შემიძლია მუშაობა. 900 00:47:47,550 --> 00:47:53,530 და ასე, მაგალითად, შემიძლია დააყენა ეტიკეტების აქ, თქვენ იცით, და მე ასევე შეგიძლიათ დააყენა 901 00:47:53,530 --> 00:47:54,820 სხვა ღილაკს აქ. 902 00:47:54,820 --> 00:47:58,730 მე არ გადაიტვირთოთ შეცვლის ღირებულებები აქ. 903 00:47:58,730 --> 00:48:09,050 >> მაგრამ, რაც მთავარია აქ რომ ფაილის მფლობელი - 904 00:48:09,050 --> 00:48:13,660 ასე რომ, მე შიგნით iPhone კალენდარი, iPhone XIB ფაილი. 905 00:48:13,660 --> 00:48:18,050 და ქვემოთ ამ ნავიგაცია ტერიტორიაზე ან ჩამოსაშლელი მენიუ, მინდა წასვლა 906 00:48:18,050 --> 00:48:19,090 ფაილის მფლობელი. 907 00:48:19,090 --> 00:48:22,630 და ეს არის ნამდვილად მნიშვნელოვანი ნაბიჯი აქ. 908 00:48:22,630 --> 00:48:27,780 მინდა კლასი კალენდარი კონტროლერი, რომ ამ XIB ფაილი 909 00:48:27,780 --> 00:48:30,030 იქნება დაკავშირებული ჩემი აზრით კონტროლერი. 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 და არაფერი, რომ მე შიგნით ჩემი აზრით კონტროლერი პროგრამულად არის 912 00:48:39,360 --> 00:48:42,800 აპირებს აისახება აქ. 913 00:48:42,800 --> 00:48:46,270 >> ასე რომ, თუმცა შენიშნავს, რომ - 914 00:48:46,270 --> 00:48:55,995 რეალურად, მოდით ამ თვალსაზრისით background ლურჯი, მაგალითად. 915 00:48:55,995 --> 00:49:00,280 916 00:49:00,280 --> 00:49:01,530 ან მწვანე. 917 00:49:01,530 --> 00:49:03,870 918 00:49:03,870 --> 00:49:07,950 და შემდეგ, ასე რომ, თუ თქვენ შეამჩნევთ, უკან ეს კოდი, ეს არის სადაც ჩვენ მივიღეთ ჩვენი 919 00:49:07,950 --> 00:49:09,200 ნავიგაცია კონტროლერი. 920 00:49:09,200 --> 00:49:12,650 921 00:49:12,650 --> 00:49:18,310 >> მიუხედავად იმისა, რომ ჩვენ გავაკეთეთ ეს ნაბიჯი, ეს მაინც იქნება წითელი და არა მწვანე. 922 00:49:18,310 --> 00:49:20,350 და იქ მიზეზი. 923 00:49:20,350 --> 00:49:28,090 ეს იმიტომ, რომ, როდესაც ჩვენ inited ჩვენი აზრით კონტროლერი, აქ - 924 00:49:28,090 --> 00:49:30,010 უკაცრავად, ეს პატარა crazy - 925 00:49:30,010 --> 00:49:34,520 როდესაც ჩვენ inited ჩვენი აზრით კონტროლერი აქ, ჩვენ inited ეს ზოგადი ტიპის 926 00:49:34,520 --> 00:49:35,990 UIViewController. 927 00:49:35,990 --> 00:49:36,560 OK? 928 00:49:36,560 --> 00:49:40,560 ასე რომ, ჩვენ კი არ გავაკეთებთ, იგი ამ კლასში. 929 00:49:40,560 --> 00:49:42,030 >> ასე მახსოვს, რომ ეს არის, როგორც კლასი არის. 930 00:49:42,030 --> 00:49:47,160 ეს შეიძლება ფიქრობდა როგორც ტიპის, უბრალოდ როგორც UIViewController არის ტიპის. 931 00:49:47,160 --> 00:49:51,080 და იმისათვის, რომ გამოიყენოთ, რომ, რა ჩვენ უნდა გავაკეთოთ არის იმპორტი ეს - 932 00:49:51,080 --> 00:49:52,520 იმპორტის ViewController - 933 00:49:52,520 --> 00:49:55,750 და, როგორც ხედავთ, ეს autofills ჩემთვის. 934 00:49:55,750 --> 00:49:56,570 ასე რომ, ViewController - 935 00:49:56,570 --> 00:50:02,070 და ახლა, აქ, მე შეგიძლიათ შეცვალოთ ეს UIViewController to ViewController. 936 00:50:02,070 --> 00:50:05,050 და ახლა, აქ, მე შეიძლება შეიცვალოს ამ ViewController. 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> მოდით აწარმოებს ამ ერთხელ. 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 ის ჯერ კიდევ წითელი. 941 00:50:19,690 --> 00:50:23,370 და მიზეზი, რის გამოც ეს ჯერ კიდევ წითელი იმიტომ, რომ - 942 00:50:23,370 --> 00:50:26,230 woah, რა მოხდა იქ? 943 00:50:26,230 --> 00:50:31,500 ჩვენ გვინდოდა, რომ გაერთიანდნენ ამ XIB ფაილის კალენდარი კონტროლერი. 944 00:50:31,500 --> 00:50:37,540 თუმცა, იმისათვის, რომ რეალურად გააკეთებს რომ, ჩვენ უნდა წავიდეთ ამ. 945 00:50:37,540 --> 00:50:42,980 და როდესაც ჩვენ გავაკეთებთ init, ჩვენ გვსურს initWithNibName და შემდეგ ჩვენ გვინდა 946 00:50:42,980 --> 00:50:48,910 გავაკეთოთ ერთი string View_iPhone, მაგალითად. 947 00:50:48,910 --> 00:50:51,700 შეგიძლიათ იგნორირება bundle აქ. 948 00:50:51,700 --> 00:50:54,965 >> და ეს აპირებს საშუალებას ჩვენთვის, რეალურად - 949 00:50:54,965 --> 00:51:00,620 950 00:51:00,620 --> 00:51:02,160 uh oh, არსებობს პრობლემა. 951 00:51:02,160 --> 00:51:09,300 952 00:51:09,300 --> 00:51:09,980 უფლება. 953 00:51:09,980 --> 00:51:17,670 >> ასე რომ, არსებობს პრობლემა, რადგან, ჩვენი აზრით XIB ფაილი, ჩვენ ეტიკეტების და 954 00:51:17,670 --> 00:51:18,720 ჩვენ ღილაკს. 955 00:51:18,720 --> 00:51:23,660 თუმცა, მიუხედავად იმისა, რომ ჩვენ უკავშირდება ეს ორი, არაფერი შიგნით 956 00:51:23,660 --> 00:51:27,440 ViewController.h ან ViewController.m რომელიც ასახავს იმ 957 00:51:27,440 --> 00:51:29,160 ღილაკების ან იმ ეტიკეტები. 958 00:51:29,160 --> 00:51:32,425 ასე რომ, ჩვენ უნდა დაწეროთ იმ როგორც თვისებები კალენდარი კონტროლერი. 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> ასე რომ, ეს არის, თუ როგორ აცხადებენ ქონება. 961 00:51:39,490 --> 00:51:43,422 ის იღებს, როგორც წესი, ეს ორი ვარიანტი. 962 00:51:43,422 --> 00:51:48,690 მიზნებისათვის us და ეს სემინარი, მე ვიტყოდი, რომ, ზოგადად, 963 00:51:48,690 --> 00:51:52,250 საუკეთესო თვისებები nonatomic და შენარჩუნება. 964 00:51:52,250 --> 00:51:55,420 შეგიძლიათ წაიკითხოთ up by Google ჩხრეკა, თქვენ იცით, სხვაობა 965 00:51:55,420 --> 00:51:58,620 nonatomic და შენარჩუნება, თქვენ ვიცი, Google ან რამე. 966 00:51:58,620 --> 00:52:01,090 და მე გაგიყვანთ, ისევე, Stack Overflow, სადაც ხალხს ექნება 967 00:52:01,090 --> 00:52:03,605 პასუხი განსხვავებები შორის. 968 00:52:03,605 --> 00:52:07,000 მაგრამ ახლა, ის, რაც ჩვენ მინდა, რომ იყოს დაინტერესებული. 969 00:52:07,000 --> 00:52:12,790 >> და ჩვენ გვინდა, რათა UI ეტიკეტების, ვარსკვლავი, და ჩვენ შეგვიძლია ეძახით რასაც გვინდა. 970 00:52:12,790 --> 00:52:15,710 ჩვენ შეგვიძლია მოვუწოდებთ ამ, თქვენ იცით, იარლიყი. 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 და ჩვენ დაგიმზადებთ სხვა ერთი ღილაკი. 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 და მახსოვს, რომ არის ვარსკვლავი, იმიტომ, რომ ჩვენ საქმე გვაქვს პოინტერები 975 00:52:29,910 --> 00:52:36,740 საკმაოდ ბევრი ყველგან შიგნით Objective-C. 976 00:52:36,740 --> 00:52:42,110 >> თუმცა, ეს მაინც ვერ გადაჭრის პრობლემა, როგორც ხედავთ აქ. 977 00:52:42,110 --> 00:52:50,540 და მიზეზი არის, რადგან, როდესაც ჩვენ მინდა დაკავშირება XIB ფაილის label ან 978 00:52:50,540 --> 00:52:55,690 ღილაკს პროგრამა, ან header და განხორციელების ფაილი, ჩვენ გვინდა 979 00:52:55,690 --> 00:52:58,255 დაამატოთ ეს ნაჭერი კოდი - 980 00:52:58,255 --> 00:53:00,610 outlet. 981 00:53:00,610 --> 00:53:03,600 გაითვალისწინეთ, რომ ეს არის საკვანძო სიტყვა. 982 00:53:03,600 --> 00:53:07,970 >> და, როგორც კი დასრულდება აკრეფის რომ, მას უნდა ჰქონდეს ამ 983 00:53:07,970 --> 00:53:09,100 ორი წრეების, აქ. 984 00:53:09,100 --> 00:53:11,200 როგორც წესი, ისინი არ შევსებული შემოსული 985 00:53:11,200 --> 00:53:12,920 მე არ ვარ დარწმუნებული, თუ რატომ არიან. 986 00:53:12,920 --> 00:53:21,370 მაგრამ, როგორც წესი, თქვენ მოგიწევთ ხელით დააკავშირებს მათ მიერ აპირებს ამ მხარეს 987 00:53:21,370 --> 00:53:23,530 კომუნალური ფართობი. 988 00:53:23,530 --> 00:53:28,430 >> ასე რომ, ახლა, მაქვს ჩემი label არჩეული და მინდა გადაიტანეთ ეს ახალი 989 00:53:28,430 --> 00:53:33,910 მითითება outlet ჩემს ფაილის მფლობელი, და შემდეგ დააჭირეთ Label. 990 00:53:33,910 --> 00:53:40,230 ახლა, ბოლოს და ბოლოს, ეს იარლიყი დაკავშირებული ამ ნიშანს. 991 00:53:40,230 --> 00:53:44,950 და ეს იარლიყი არის ის, რასაც ჩვენ ვაპირებთ გამოყენება პროგრამულად შეცვალოს თავისი 992 00:53:44,950 --> 00:53:49,250 ტექსტი, მისი შრიფტი, მისი background ფერი, et cetera. 993 00:53:49,250 --> 00:53:52,430 >> ასე რომ, რატომ არ ვაკეთებთ იგივე ღილაკს? 994 00:53:52,430 --> 00:53:54,770 და თქვენ შეამჩნევთ, რომ ღილაკს, ეს ცოტა უფრო რთული. 995 00:53:54,770 --> 00:53:59,060 იმის გამო, რომ მე ვგულისხმობ, თქვენ უნდა დააჭირეთ ღილაკს, ამიტომ ბევრი 996 00:53:59,060 --> 00:54:02,950 ვარიანტები, თუ როგორ მომხმარებლებს შეგიძლიათ დააჭიროთ ღილაკს. 997 00:54:02,950 --> 00:54:06,570 და შემდეგ, ვნახავთ, მოგვიანებით, რომ ჩვენ შეგვიძლია დაკავშირება ამ ჩვენს 998 00:54:06,570 --> 00:54:09,140 კოდი რათა ის იმუშავებს. 999 00:54:09,140 --> 00:54:12,770 >> ასე რომ, ახლა თუმცა, ჩვენ გვინდა, რომ დაკავშირება ის ფაქტობრივი ღილაკს 1000 00:54:12,770 --> 00:54:13,570 შიგნით ჩვენი კოდი. 1001 00:54:13,570 --> 00:54:19,640 ასე რომ, ჩვენ წასვლა new მითითება outlet, და მერე ღილაკს. 1002 00:54:19,640 --> 00:54:22,068 ახლა, მოდით აწარმოებს ამ ერთხელ. 1003 00:54:22,068 --> 00:54:23,040 Uh Oh. 1004 00:54:23,040 --> 00:54:23,890 OK. 1005 00:54:23,890 --> 00:54:25,140 მე არ ვიცი, რა ხდება აქ არის. 1006 00:54:25,140 --> 00:54:48,450 1007 00:54:48,450 --> 00:54:49,700 Whoa. 1008 00:54:49,700 --> 00:54:57,380 1009 00:54:57,380 --> 00:54:58,960 მხოლოდ ერთი წუთით, აქ. 1010 00:54:58,960 --> 00:55:02,490 >> სინამდვილეში, რატომ არ ვიღებთ შევხედოთ სხვა მაგალითი 1011 00:55:02,490 --> 00:55:05,800 ინტერესი დროს. 1012 00:55:05,800 --> 00:55:06,200 OK. 1013 00:55:06,200 --> 00:55:10,610 ასე რომ, აქ უფრო ადვილად მომზადდა მაგალითად ViewController. 1014 00:55:10,610 --> 00:55:13,230 1015 00:55:13,230 --> 00:55:17,110 როგორც ხედავთ აქ, მე შედის თვისებები 1016 00:55:17,110 --> 00:55:18,460 ეტიკეტზე და ღილაკს. 1017 00:55:18,460 --> 00:55:20,370 და შემდეგ, ამ ნაჭერი კოდი აქ - 1018 00:55:20,370 --> 00:55:21,830 ამ IBaction - 1019 00:55:21,830 --> 00:55:27,740 იყო კავშირი ეს ღილაკი აქ. 1020 00:55:27,740 --> 00:55:33,940 ასე რომ, როგორც ხედავთ აქ, Touch Up Inside უკავშირდება selector 1021 00:55:33,940 --> 00:55:37,390 ე.წ. ღილაკზე დაჭერისას. 1022 00:55:37,390 --> 00:55:41,700 >> ასე რომ, ჩვენ შეიძლება რეალურად გაიაროს მოძრაობის კიდევ ერთხელ, აქ, აღების Touch Up 1023 00:55:41,700 --> 00:55:48,750 Inside და გადმოიყვანა მას ფაილის მფლობელი, და შემდეგ 1024 00:55:48,750 --> 00:55:51,570 დააწკაპუნეთ ღილაკზე დაჭერისას. 1025 00:55:51,570 --> 00:55:52,820 ახლა, მოდით აწარმოებს ჩვენი კოდი. 1026 00:55:52,820 --> 00:55:55,710 1027 00:55:55,710 --> 00:56:02,020 ახლა, ეს ღილაკი მუშაობს და მიიღებს გვაძლევს მომდევნო გვერდზე. 1028 00:56:02,020 --> 00:56:08,430 >> და, იმ თვალსაზრისით, ჩვენი აზრით კონტროლერი, ეს არის ნაჭერი კოდი, რომელიც აიღო 1029 00:56:08,430 --> 00:56:10,000 ზრუნვა ღილაკი დაპრესილი. 1030 00:56:10,000 --> 00:56:14,260 და ეს მნიშვნელოვანია აღინიშნოს აქ, რომ მე შექმნილი სხვა ტიპის კალენდარი 1031 00:56:14,260 --> 00:56:16,330 კონტროლერი მოუწოდა მაგიდა კალენდარი კონტროლერი. 1032 00:56:16,330 --> 00:56:19,900 ასე რომ, ეს იყო მსგავსი უკან storyboard, როდესაც მე გამოათრიეს ერთი 1033 00:56:19,900 --> 00:56:23,450 ამ ცხრილის კონტროლერები შევიდა storyboard. 1034 00:56:23,450 --> 00:56:24,470 მე შექმნაში სხვა 1035 00:56:24,470 --> 00:56:30,000 >> მომცეთ ცხრილის კონტროლერი, alloc და init-ing, და შემდეგ აკეთებს 1036 00:56:30,000 --> 00:56:34,490 თვითმმართველობის dot ნავიგაცია კონტროლერი, დააყენებს ViewController, ამ ახალი 1037 00:56:34,490 --> 00:56:35,350 viewController. 1038 00:56:35,350 --> 00:56:39,750 და მე მითითებული ანიმაცია დიახ, რადგან ახლა შიგნით ჩემი app, და მე 1039 00:56:39,750 --> 00:56:45,670 გვინდა რეალურად ნახოთ ანიმაცია აპირებს საწყისი გვერდი მაგიდასთან 1040 00:56:45,670 --> 00:56:46,920 კალენდარი კონტროლერი. 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> აუდიტორია: თქვენ ჯერ კიდევ ინერვიულოთ დაახლოებით ნაგვის შეგროვების? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: რა არის ეს? 1044 00:56:51,840 --> 00:56:54,740 პოსტები 1045 00:56:54,740 --> 00:56:58,970 ასე რომ, კითხვა იყო, გაქვთ მუშაობა ნაგვის შეგროვების? 1046 00:56:58,970 --> 00:57:03,470 ასე რომ, Xcode 4 ჰქონდა, როგორიც ARC, რომელიც ავტომატური მინიშნება დათვლა. 1047 00:57:03,470 --> 00:57:06,120 ასე რომ, როგორც წესი, როდესაც თქვენ დავიწყოთ ახალი პროექტი, თქვენ შეამოწმოს, რომ, რადგან 1048 00:57:06,120 --> 00:57:09,440 არავინ ნამდვილად სურს გაუმკლავდეთ გამონთავისუფლების მეხსიერება და პერსონალი. 1049 00:57:09,440 --> 00:57:13,720 მაგრამ ვფიქრობ Xcode 5, არ არსებობს არც ეს ვარიანტი ახალი პროექტი. 1050 00:57:13,720 --> 00:57:16,750 ასე რომ, ეს ავტომატურად აკეთებს, რომ თქვენთვის. 1051 00:57:16,750 --> 00:57:16,920 დიახ? 1052 00:57:16,920 --> 00:57:20,970 >> აუდიტორია: შეგიძლიათ გაიტანოს PDF თქვენს storyboard? 1053 00:57:20,970 --> 00:57:22,020 >> RHED SHI: ჰო, ნამდვილად. 1054 00:57:22,020 --> 00:57:28,180 ასე რომ, ყველა ამ შევა კოდის, ასე რომ თქვენ ბიჭები შეიძლება შეამოწმეთ 1055 00:57:28,180 --> 00:57:30,730 ფაქტობრივი Xcode პროექტი მას. 1056 00:57:30,730 --> 00:57:31,105 ჰო? 1057 00:57:31,105 --> 00:57:35,944 >> აუდიტორია: მაგრამ, მე ვგულისხმობ, როგორიცაა, შემიძლია ბეჭდვა PDF ჩემი storyboard? 1058 00:57:35,944 --> 00:57:38,920 იმ შემთხვევაში, თუ მინდა გაიტანოს images რათა ნახოთ ვინმე. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: Oh yeah. 1060 00:57:39,160 --> 00:57:41,980 მე ვფიქრობ, შესაძლოა, შეგიძლიათ უბრალოდ მიიღოს ეკრანზე გადაღებული. 1061 00:57:41,980 --> 00:57:44,350 ჰო, და მათ ეკრანზე დარტყმული ან რამე. 1062 00:57:44,350 --> 00:57:45,600 ჰო. 1063 00:57:45,600 --> 00:57:49,170 1064 00:57:49,170 --> 00:57:50,570 >> ასე რომ, ვნახოთ. 1065 00:57:50,570 --> 00:57:56,470 ინტერესი დროს, ვფიქრობ, რომ ყველა l შეიძლება დაფაროს დღეს. 1066 00:57:56,470 --> 00:57:59,600 მაგრამ, მე ვიცი, რომ, ფაქტობრივად, მხოლოდ ძლივს ეხება ზედაპირზე iOS 1067 00:57:59,600 --> 00:58:00,370 განვითარება. 1068 00:58:00,370 --> 00:58:05,630 ასე რომ, გთხოვთ მოგერიდებათ ჩემთან თუ თქვენ გაქვთ რაიმე შეკითხვები iOS 1069 00:58:05,630 --> 00:58:07,000 განვითარება. 1070 00:58:07,000 --> 00:58:12,840 და, იმედია, შევძლებთ გაწმენდა up ზოგიერთი კოდი წყარო 1071 00:58:12,840 --> 00:58:16,830 კოდი ფაილი, ასე რომ თქვენ უნდა გარკვეული მართლაც ლამაზი მაგალითები მუშაობა. 1072 00:58:16,830 --> 00:58:21,020 >> გარდა ამისა, თუ თქვენ ბიჭები ვაპირებთ რომ CS50 Hackathon, მე შეიძლება იყოს ან 1073 00:58:21,020 --> 00:58:25,730 არ იქნება იქ, და შემიძლია დაგეხმაროთ out ზოგიერთი iOS განვითარების თვალსაზრისითაც. 1074 00:58:25,730 --> 00:58:26,980 ასე რომ, დიდი მადლობა, ბიჭები. 1075 00:58:26,980 --> 00:58:31,168