1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Сардэчна запрашаем см. CS50 семінар - 3 00:00:09,800 --> 00:00:11,630 Ўвядзенне ў МА. 4 00:00:11,630 --> 00:00:13,290 Дзякуй усім, што прыйшлі. 5 00:00:13,290 --> 00:00:16,610 Спадзяюся, ты так жа рады як я збіраюся прашыўкай. 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 Такім чынам, вы можаце далучыцца да цэлае яблык супольнасць распрацоўнікаў і пабудаваць некаторыя 18 00:00:51,500 --> 00:00:52,940 сапраўды дзіўны прыкладанняў. 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 працуе на працягу прашыўкай. 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 У прынцыпе, гэта ўсё роўна, як вы працавалі з Структуры ў гэтым мінулым 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 >> Такім чынам, чаму б нам не пачаць з некалькімі адрозненні ў сінтаксісе паміж С і 44 00:02:29,140 --> 00:02:30,540 Objective-C? 45 00:02:30,540 --> 00:02:38,310 Я хачу, каб вылучыць # ўключыць, вы ведаю, стандартны io.h ў З і З + +, з 46 00:02:38,310 --> 00:02:44,030 Objective-C версія, што, што з'яўляецца # імпарт, а затым свайго роду 47 00:02:44,030 --> 00:02:44,790 Выява загалоўка. 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 каб зрабіць, як, карту ўнутры вашага прыкладання. 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 Вы збіраецеся імпартаваць нейкую з файла загалоўка ў вашай праграме. 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 З, што азначае, што Е існуе у 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 значэнні запаўняльнікаў як Е робіць - 64 00:03:41,650 --> 00:03:45,900 так% г з'яўляецца для INT, % Е для паплаўка. 65 00:03:45,900 --> 00:03:49,750 Тым не менш, я хачу, каб вылучыць гэта самы апошні - 66 00:03:49,750 --> 00:03:52,960 NSLog% на знак - 67 00:03:52,960 --> 00:03:55,390 што з'яўляецца прататыпам для аб'екта. 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 Яны больш не з'яўляюцца проста знакавыя зоркі. 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 радок, што азначае, што вы будзеце мець ўключыць, па меншай перад вашым 78 00:04:32,580 --> 00:04:34,270 двукоссі. 79 00:04:34,270 --> 00:04:38,290 І менавіта таму вы бачыце, тут, ва ўсіх мая функцыя выклікае да гэтага NSLog, я 80 00:04:38,290 --> 00:04:42,400 ёсць, па меншай перад двукоссяў, нават хоць% г і% е з'яўляюцца 81 00:04:42,400 --> 00:04:45,200 ўсё роўна з С. 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 Так, у З, большасць рэчаў функцыі. 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 так што я можа выкарыстоўваць іх як узаемазаменныя на працягу семінара. 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 Гэтак жа, як, можа быць, прыняць Напрыклад, вузел - 98 00:05:38,950 --> 00:05:40,250 наш тып [неразборліва] 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 Такім чынам, вы пачынаеце з, вы ведаеце, вяртанне тып - у дадзеным выпадку гэта масіў або 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 ёсць гэтыя двукроп'я. 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 >> Так, цяпер я спрабую зрабіць параўнанне, вы ведаеце, п і 116 00:06:43,160 --> 00:06:45,450 лік, таму што яны абодва, як цэлыя. 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 NSArray 123 00:07:10,360 --> 00:07:13,240 Масіў, калі вы хацелі проста метад , Які прымае ў адзін аргумент. 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 з 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 простыя кранштэйны рэчы. 137 00:07:50,780 --> 00:07:52,060 Яны аб'ектаў. 138 00:07:52,060 --> 00:07:56,700 Хоць, калі мы ідзем да наступнага слайд, мы бачым, што мы можам 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 Я не, на самай справе, зусім упэўнены Ці Я сінтаксічна жорстка масіў 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 б, і вы ўсталюеце яго ў 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 як вы можаце бачыць, у С, ёсць ніякай іншай жоўты слова. 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 а, бы, у, г. 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 ОК. 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 Я ведаю, многія з вас, ці некаторыя з вас, не маюць Mac, што з'яўляецца праблемай 164 00:09:26,160 --> 00:09:30,490 таму Xcode не даступная для АС Windows і ПК. 165 00:09:30,490 --> 00:09:32,785 Не пытайцеся мяне, чаму, але, верагодна, - 166 00:09:32,785 --> 00:09:33,730 ды, карпаратыўныя. 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 віртуальная машына для Mac у Для таго каб запусціць Xcode 5. 170 00:09:43,000 --> 00:09:46,460 Але гэта даволі вытанчаны праграмнае забеспячэнне для выкарыстання. 171 00:09:46,460 --> 00:09:51,280 >> Дык вось, перш чым мы паглыбімся ў якой-небудзь дэма, я проста хачу паказаць вам, у 172 00:09:51,280 --> 00:09:55,700 карціна таго, што Xcode выглядае ў вашым вокны, а затым таксама казаць пра 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 >> Такім чынам, спачатку я хачу паказаць вам на панэль інструментаў у верхняй частцы. 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 Гэта тыя, што вы будзеце выкарыстоўваючы для запуску прыкладання на 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 Вы проста націсніце кнопку прайгравання і затым ён працуе ваша прыкладанне. 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 куча іншых абразоў там, што будзе карысным у далейшым. 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 шрыфт тэксту павінна быць, і так далей. 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 І так, я буду ісці праз дзве прыклады не выкарыстоўваючы, проста, няма кода ў 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 Такім чынам, вы больш не прыйдзецца адладжваць, і гэтак далей, у вашых праграмах. 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 Так што павінна быць весела. 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 з'яўляецца пашыраны набор C, усё, што вы зрабіць, гэта, 213 00:12:03,160 --> 00:12:06,890 літаральна, гэтак жа, як С. Вы проста маюць нязначныя адрозненні. 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 фігурныя дужкі для усё, што вы хачу зрабіць ўнутры там. 217 00:12:17,150 --> 00:12:21,680 >> Тым не менш, я хацеў паставіць гэты слайд уверх тут, проста каб праілюстраваць, што, 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 роўная радкі, а затым мы перадаем у жорстка запраграмаванай радкі, каб убачыць 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 ОК. 226 00:12:52,440 --> 00:12:56,190 І я хачу, каб перайсці для пастаноўкі таксама. 227 00:12:56,190 --> 00:13:01,420 >> Так, напрыклад, калі мы хочам, каб завесы па даўжыні радка ў 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 можна выкарыстоўваць кропкавую натацыю. 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 на вачах у ўсіх маіх я х гадоў у Objective-C, Вы можаце таксама выкарыстоўваць 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 >> АЎДЫТОРЫЯ: Гэта толькі стылістычных, або - 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 што спасылка вядзе да перапаўнення стэка ўтвараюць, дзе хтосьці тлумачыць 248 00:13:59,870 --> 00:14:03,640 розніца паміж міжнар ў 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 ОК, дзіўным. 254 00:14:12,150 --> 00:14:15,410 Такім чынам, гэта таксама ўключана ў слайд таму што я думаў, што гэта быў выдатны 255 00:14:15,410 --> 00:14:19,370 сайт, які знаёміць вас сінтаксісу Objective-C. 256 00:14:19,370 --> 00:14:24,410 Так, уласна, чаму б нам не перайсці да Хром і праверыць гэты сайт? 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 трэба стварыць радок. 286 00:16:03,460 --> 00:16:08,980 Напрыклад, NSString зорка радок роўная у двукоссі, прывітанне свет. 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 на гэтым прывітанне свет радка. 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 І вы аб'яўляеце іх з на ключавое слова уласнасці. 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 Прывітанне. 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 >> АЎДЫТОРЫЯ: Так. 306 00:16:51,240 --> 00:16:53,940 Дзякуй. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Так, калі ласка, нагадаеце мне, калі Я забываю, каб павялічыць або паменшыць маштаб. 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 эй, гэта шмат - 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 старонкі, дзе ён кажа, быццам бы, альбо адкрыць да існуючы праект або новы 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, мы толькі збольшага астудзіць? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: Ці паглядзіце на з кім-то, так. 322 00:17:46,870 --> 00:17:47,740 Так. 323 00:17:47,740 --> 00:17:50,660 Вы можаце расслабіцца, таксама. 324 00:17:50,660 --> 00:17:51,570 ОК. 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 для развіцця 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 У вас ёсць прыкладанне ўкладку - 336 00:18:24,010 --> 00:18:29,350 так падабаецца, напрыклад, Банк Амерыкі верагодна, мае, як, з укладкамі праграму. 337 00:18:29,350 --> 00:18:32,140 Гэта тыя, дзе ў вас ёсць кнопкі ў ніжняй часткі. 338 00:18:32,140 --> 00:18:34,750 І потым, у вас ёсць Камплект гульню Sprite. 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 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 >> Гэта будзе важна, калі вам хочаце - так, па сутнасці, як, пакласці ваша прыкладанне 348 00:19:09,940 --> 00:19:14,080 на ваш тэлефон ці нешта, і тэст гэта, вы ведаеце, у рэальным жыцці - 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 Але цяпер, я проста пакласці ў некаторыя запаўняльнікі рэчы тут. 357 00:19:38,210 --> 00:19:41,250 >> І вы можаце, вядома, тут, выберыце ці вы хочаце, каб гэта было выключна ў 358 00:19:41,250 --> 00:19:44,410 iPhone, у IPad, або абодва - 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 Вам не трэба будзе чапаць, і калі вы вы псуеце некаторыя рэчы тут, гэта 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 Так што, як вы будзеце апавяшчэнне, мы загалоўкавыя файлы, якія 375 00:20:43,430 --> 00:20:45,720 канец кропка г, і ў нас ёсць рэалізацыя - 376 00:20:45,720 --> 00:20:46,970 на самай справе, дазвольце мне павелічэння маштабу 377 00:20:46,970 --> 00:20:56,270 378 00:20:56,270 --> 00:20:57,060 ОК. 379 00:20:57,060 --> 00:20:59,940 Дазвольце мне павелічэння маштабу 380 00:20:59,940 --> 00:21:05,810 >> Права, так вы загалоўкавыя файлы і ў вас ёсць файлы рэалізацыі. 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 ОК. 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 працы з раскадроўкі. 387 00:21:17,340 --> 00:21:22,140 >> Так, Дзень беларускай салідарнасці і з'яўляецца тое, што Apple, прыдумаў, каб сапраўды дапамагчы 388 00:21:22,140 --> 00:21:26,550 распрацоўшчыкі хутка ствараць прататыпы іх прыкладання. 389 00:21:26,550 --> 00:21:29,410 Такім чынам, гэта дзе вы можаце стварыць дадатак, не напісаўшы 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 >> І, я збіраюся, каб паменшыць маштаб зараз, таму што мы павінны працаваць у Дзень беларускай салідарнасці. 395 00:21:52,350 --> 00:21:55,190 Такім чынам, вось наш погляд. 396 00:21:55,190 --> 00:22:00,120 Калі мы, проста, запусціць прыкладанне прама зараз, існуе не так шмат цікавай адбываецца. 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 ОК? 400 00:22:06,110 --> 00:22:14,010 >> І, у нашай вобласці камунальнай, мы можам дадаць куча розных рэчаў да яго. 401 00:22:14,010 --> 00:22:19,290 Так што, калі вы маеце справу з экранаў ў МА, выгляд кантралёры 402 00:22:19,290 --> 00:22:23,150 аб'екты, якія Інкапсулюйце, роду, вашыя думкі. 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 Так, цяпер, калі я націснуў на этыкетцы, я можа перайсці ў інспектара уласцівасцяў 410 00:22:49,560 --> 00:22:51,510 і пачаць змяняць яго значэнне. 411 00:22:51,510 --> 00:22:55,040 Давайце назавем гэта CS50 Колеры. 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 Вы ведаеце, ультралайта, зрабіць яго 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 ОК. 421 00:23:16,196 --> 00:23:17,450 >> АЎДЫТОРЫЯ: Проста націсніце на яго? 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 >> АЎДЫТОРЫЯ: Проста перадаць 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 ОК. 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 >> АЎДЫТОРЫЯ: Што выпадальны быў лэйбл пад? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: Такім чынам, пытанне было, што расчыняецца быў лэйбл пад? 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 Але, як правіла, гэта значэнне па змаўчанні - 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 дае нам кіруючыя прынцыпы для цэнтравання аб'ектаў. 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 Колеры. 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 I мы будзем называць гэтую кнопку "кран тут працягнуць ". Мы ў цэнтры яго, таксама 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 ОК. 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 Націсніце толькі калі ў вас ёсць рух кантролер. 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 Так, кантролер навігацыі з'яўляецца адным што дае зваротную кнопку на 480 00:25:59,500 --> 00:26:03,910 дадатак IOS, дзе ў вас ёсць, вы ведаеце, што зверху, накшталт, тоўсты прут - 481 00:26:03,910 --> 00:26:06,480 дзе вы можаце вярнуцца, або наперад, і гэтак далей. 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 непасрэдна пераходзіць можна выкарыстоўваць толькі тады, калі Кантролер крыніца кіруецца 492 00:26:35,460 --> 00:26:40,700 асобнік карыстацкага інтэрфейсу навігацыі кантролера ". Такім чынам, таму што гэта не было ўнутры 493 00:26:40,700 --> 00:26:44,030 навігацыйны кантролер, Я не мог зрабіць гэтага. 494 00:26:44,030 --> 00:26:48,782 >> Так, прама цяпер, я вяртаюся да Тэчка, вяртаючыся да раскадроўкі. 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 Я збіраюся падняцца ў рэдактары, спусціцца ўбудоўваць у, а затым навігацыі 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 >> ОК. 509 00:27:20,720 --> 00:27:27,750 І, мой працоўная прастора выглядае сапраўды брудны, так што давайце ачысціць гэта. 510 00:27:27,750 --> 00:27:29,000 Такім чынам, усё гэта Дзень беларускай салідарнасці. 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 ОК, спыніць - 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 Таму мне трэба, каб зрабіць маю кантроль, Клікніце, перацягнуць рэч зноў. 526 00:28:21,780 --> 00:28:27,318 І цяпер я магу зрабіць штуршок, таму што я ўстаўляць гэта ўнутры кантролера навігацыі. 527 00:28:27,318 --> 00:28:32,210 >> АЎДЫТОРЫЯ: Навігацыя кантролер проста дазваляе перайсці з месца на месца? 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 мы збіраемся зрабіць гэта статычныя клеткі, у адваротным выпадку мы збіраемся 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 калі вы яшчэ не бачылі музычны дадатак, калі ў вас ёсць мастакі, раздзелы б 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 маёй раскадроўкі праз гэта У расчыняецца меню таксама. 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 І я буду называць гэтую Blue. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 І потым, я хачу паставіць кропку гледжання карыстацкага інтэрфейсу, вы ведаю, можа быць, для, як, скрыначку. 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 І я вярнуся да ўласнасці і змяніць гэты колер, каб, ну, я не 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 І такім чынам, мы можам скапіяваць устаўце наш шлях ўніз. 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 Фіялетавы. 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 ОК. 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: Такім чынам, пытанне было, як я дадаць радок першапачаткова? 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 ОК. 597 00:32:31,480 --> 00:32:32,870 Давайце паглядзім, калі гэта працуе. 598 00:32:32,870 --> 00:32:34,000 О, выдатна, дзіўным. 599 00:32:34,000 --> 00:32:35,300 ОК. 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 а. 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 >> О. 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 Дзень беларускай салідарнасці і прадстаўленне кантролера прадстаўлення. 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 А цяпер, дапусцім, я хачу, каб кіраваць альт мой самы першы сіні 631 00:34:27,320 --> 00:34:28,980 радок табліцы, каб тут. 632 00:34:28,980 --> 00:34:31,070 І я хачу, каб выклікаць гэтую Blue. 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 Такім чынам, вы ведаеце, этыкетка зараз знаходзіцца пад ўяўленне змесціва, і гэтак далей. 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 давайце паглядзім, калі гэта - так. 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 І гэта канец, роду, Дзень беларускай салідарнасці - 653 00:35:32,020 --> 00:35:33,400 тое, што я хацеў паказаць Вы для раскадроўкі. 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 Такім чынам, гэта Дзень беларускай салідарнасці што я зрабіў раней. 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 Я, верагодна, ачысціць яго пазней да Я пасылаю яго да вытворчасці. 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 ОК. 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 Дзень беларускай салідарнасці. 674 00:36:42,380 --> 00:36:46,590 Дык вось, я проста абмяжоўваючы сябе не выкарыстоўваць любы з раскадроўкі, а 675 00:36:46,590 --> 00:36:49,170 пусты прыкладанне не будзе дайце мне раскадроўкі. 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 ОК. 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 Такім чынам, дазвольце мне перамясціць гэта акно крыху больш за. 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 і кропка 689 00:37:28,160 --> 00:37:30,500 м, і ў нас няма раскадровку больш. 690 00:37:30,500 --> 00:37:39,580 >> Так што, калі мы запусцім гэта, мы па-ранейшаму будзем дабрацца да белага экрана, дзякуй Богу. 691 00:37:39,580 --> 00:37:42,280 ОК - белы экран, але нічога больш. 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 Дзень беларускай салідарнасці і па сутнасці забяспечвае код для гэтай часткі. 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 пачынае ствараць наша дадатак яшчэ раз. 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 ОК. 706 00:38:14,520 --> 00:38:17,380 Я буду друкаваць, так што гэта не павінна Незалежна ад таго занадта шмат. 707 00:38:17,380 --> 00:38:17,940 ОК. 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 так, гэта падобна на Таноса, што вы, хлопцы, якія выкарыстоўваюцца ў C - 721 00:38:56,640 --> 00:38:58,400 а затым, я збіраюся ініцыялізацыі яго. 722 00:38:58,400 --> 00:39:03,670 >> Такім чынам, гэта сапраўды важна, каб любая Аб'ект, вы ствараеце, вы хочаце 723 00:39:03,670 --> 00:39:04,940 Alloc і ініцыялізацыі яго. 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 Калі вы не зробіце гэта, ваш аб'ект робіць не існуе, і вы будзеце працаваць у звязку 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 зорка - 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, ініцыялізацыі. 734 00:39:32,850 --> 00:39:38,680 735 00:39:38,680 --> 00:39:40,150 ОК. 736 00:39:40,150 --> 00:39:43,450 >> А потым, што я збіраюся зрабіць, гэта, я збіраецца - так, памятаю, калі мы зрабілі 737 00:39:43,450 --> 00:39:45,360 код для ўстаўкі ў навігацыйны кантролер? 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 >> АЎДЫТОРЫЯ: [неразборліва]. 742 00:39:57,636 --> 00:39:59,030 Здарыцца ці гэта для нас, або -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: О, так. 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 Метад асобніка карыстацкага інтэрфейсу рух кантролер. 750 00:40:13,590 --> 00:40:20,030 Таму што я павінен быў стварыць свой навігацыю UI Кантролер зорка, і затым я 751 00:40:20,030 --> 00:40:24,510 Можна назваць гэта pushViewController на маім Канкрэтны асобнік навігацыі карыстацкага інтэрфейсу 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 Гэта як зсапЕ. 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 ах. 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 >> І, я магу ўсталяваць яго, накшталт нудна, , Выклікаўшы колер 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 Я, быццам бы, завецца яго на міжнар, калі унутр было, як, спосаб да яго, напрыклад. 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 вашага прыкладання. 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 Так што, так. 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 Магія. 834 00:44:29,170 --> 00:44:30,960 835 00:44:30,960 --> 00:44:32,690 Так, добра. 836 00:44:32,690 --> 00:44:34,420 Дзякуй. 837 00:44:34,420 --> 00:44:35,000 ОК. 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 >> Такім чынам, гэта падклас, як вы заўважыце, тут, гэта падклас 847 00:45:12,030 --> 00:45:15,910 Выгляд карыстацкага інтэрфейсу кантролера, але я магу называюць гэта любое іншае імя тут. 848 00:45:15,910 --> 00:45:19,400 Я мог бы назваць гэтую CS50, я мог бы назваць гэты пункт гледжання кантролер, я мог бы назваць 849 00:45:19,400 --> 00:45:21,640 гэта бла выгляд кантролера - 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 Такім чынам, гэта будзе, як некаторыя роду, тыпу або аб'екта. 855 00:45:34,140 --> 00:45:35,910 Так, ён павінен быць трохі радавым. 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 мы зрабілі раней з раскадроўкі - 862 00:45:54,960 --> 00:45:57,810 Вы ведаеце, этыкетка, або кнопку, або тое, што. 863 00:45:57,810 --> 00:46:01,950 І так, xibs файлы, якія дазваляюць гэта зрабіць, і вы павінны падключыць яго 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 Звычайна я хацеў бы праверыць гэта, і калі я толькі зрабілі гэта на мабільны або IPad, я 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 ўнутры гэтага тэсту тэчцы. 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 >> ОК. 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 Зараз, я збіраюся ісці ў Карыстальнікам Сэнсарны інтэрфейс, і, як вы бачыце, я 884 00:47:06,880 --> 00:47:08,120 можна стварыць раскадровку. 885 00:47:08,120 --> 00:47:11,710 >> Такім чынам, нават я пачаў з пустой Дадатак, я ўсё яшчэ можаце выкарыстоўваць 886 00:47:11,710 --> 00:47:12,340 Дзень беларускай салідарнасці. 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 шиб файл. 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 Я хачу, каб меркаванне класа кантролер, так што гэты файл шиб з'яўляецца 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 на самай справе, давайце зробім гэта меркаванне сіні фон, напрыклад. 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 прабачце, гэта крыху вар'ят - 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 ОК? 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 да 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 воах, што там адбылося? 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 І калі мы робім ініцыялізацыі, мы хочам зрабіць initWithNibName, а затым мы хочам 946 00:50:42,980 --> 00:50:48,910 зрабіць у радок View_iPhone, напрыклад. 947 00:50:48,910 --> 00:50:51,700 Вы можаце ігнараваць расслаенне тут. 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 Ой-ой, ёсць праблема. 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 >> Дык вось, ёсць праблема, таму што, у Мы лічым, шиб файл, у нас ёсць лэйбл і 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 Для мэтаў нам і гэтага семінара, Я б сказаў, што, увогуле, 963 00:51:48,690 --> 00:51:52,250 большасць уласцівасцяў неатомической і захаваць. 964 00:51:52,250 --> 00:51:55,420 Вы можаце прачытаць з дапамогай функцыі пошуку Google, Вы ведаеце, розніца паміж 965 00:51:55,420 --> 00:51:58,620 неатомической і захаваць на, вас ведаеце, Google або што-то. 966 00:51:58,620 --> 00:52:01,090 І я вазьму вас да, як, Stack Перапаўненне, дзе людзі будуць мець 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 >> І мы хочам зрабіць пазнаку карыстацкага інтэрфейсу, зорка, і мы можам назваць гэта ўсё, што хочам. 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 І прычына ў тым, што, калі мы хочаце падлучыць пазнаку шиб файла ці 978 00:52:50,540 --> 00:52:55,690 Кнопка з праграмай, або загаловак і файл рэалізацыі, мы хочам 979 00:52:55,690 --> 00:52:58,255 дадаць гэты кавалак кода - 980 00:52:58,255 --> 00:53:00,610 на выхадзе. 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 >> І вось, прама зараз, я атрымаў свой лэйбл абраны, і я хачу, каб перацягнуць гэты новы 989 00:53:28,430 --> 00:53:33,910 спасылаючыся выхад ўладальніку майго файла, а затым націсніце на 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 Тэкст, яго шрыфт, яго фон колер, і гэтак далей. 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 Так мы ідзем у новае аддзяленне якая спасылаецца, , А затым зрабіць кнопку. 1002 00:54:19,640 --> 00:54:22,068 Цяпер, давайце запусцім гэта зноў. 1003 00:54:22,068 --> 00:54:23,040 Ой-ой. 1004 00:54:23,040 --> 00:54:23,890 ОК. 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 Ух ты. 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 ОК. 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 Такім чынам, як вы можаце бачыць тут, Сэнсарны ўнутры злучаны з селектарам 1021 00:55:33,940 --> 00:55:37,390 называецца націснутай кнопцы. 1022 00:55:37,390 --> 00:55:41,700 >> Так, мы можам фактычна прайсці рух зноў, тут, прымаючы падправіць 1023 00:55:41,700 --> 00:55:48,750 Ўнутры і перацягнуўшы яго на Уладальнік файлаў, а затым 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 Так, гэта было падобна на спіне ў Дзень беларускай салідарнасці, калі я выцягнуў адзін з 1033 00:56:19,900 --> 00:56:23,450 гэтыя з кантролерамі у Дзень беларускай салідарнасці. 1034 00:56:23,450 --> 00:56:24,470 Я ствараю іншы 1035 00:56:24,470 --> 00:56:30,000 >> Паказальнік на кантролеры прадстаўлення стол, Alloc і ініцыялізацыі-ня яго, а затым рабіць 1036 00:56:30,000 --> 00:56:34,490 самастойна кропка навігацыі кантролер, націснуць ViewController, гэтая новая 1037 00:56:34,490 --> 00:56:35,350 ViewController. 1038 00:56:35,350 --> 00:56:39,750 І я паставіў анімацыю ды, таму што цяпер ўнутры майго прыкладання, і я 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 мелі як АРК, які з'яўляецца аўтаматычны падлік спасылак. 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 ў вашым раскадроўкі? 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 з маім раскадроўкі? 1058 00:57:35,944 --> 00:57:38,920 Калі я проста хачу, каб экспартаваць малюнка, каб паказаць некаму. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: О так. 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 У мэтах эканоміі часу, я думаю, вось і ўсё я магу ахапіць сёння. 1066 00:57:56,470 --> 00:57:59,600 Але, я ведаю, што гэта, на самай справе, проста ледзь дакранаючыся паверхні прашыўкай 1067 00:57:59,600 --> 00:58:00,370 развіццё. 1068 00:58:00,370 --> 00:58:05,630 Таму, калі ласка, не саромейцеся звязацца са мной, калі ў вас ёсць якія-небудзь пытанні аб прашыўкай 1069 00:58:05,630 --> 00:58:07,000 развіццё. 1070 00:58:07,000 --> 00:58:12,840 І, спадзяюся, я буду ў стане прыбраць некаторыя з кода для крыніцы 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 ня быць там, і я магу дапамагчы з некаторым развіцця IOS таксама. 1074 00:58:25,730 --> 00:58:26,980 Так, вялікі дзякуй, хлопцы. 1075 00:58:26,980 --> 00:58:31,168