1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Selamat datang ke melihat seminar CS50 - 3 00:00:09,800 --> 00:00:11,630 Pengenalan kepada IOS. 4 00:00:11,630 --> 00:00:13,290 Terima kasih semua kerana datang. 5 00:00:13,290 --> 00:00:16,610 Saya berharap anda hanya sebagai teruja kerana saya kira-kira IOS. 6 00:00:16,610 --> 00:00:22,300 Tahun lepas, saya telah mengambil CS50 sebagai mahasiswa tingkat kedua yang, dan saya pada dasarnya belajar IOS untuk saya 7 00:00:22,300 --> 00:00:23,490 Projek Akhir. 8 00:00:23,490 --> 00:00:26,350 Dan ia adalah cukup - 9 00:00:26,350 --> 00:00:30,530 dengan baik, ia tidak mudah, tetapi terdapat banyak tutorial sokongan dalam talian. 10 00:00:30,530 --> 00:00:33,760 Dan saya benar-benar berharap usaha ini seminar, saya akan memberikan anda semua kepala 11 00:00:33,760 --> 00:00:36,750 bermula pada pembangunan IOS 12 00:00:36,750 --> 00:00:40,490 >> Jadi, dari segi pembangunan IOS, terdapat dua perkara utama yang kita 13 00:00:40,490 --> 00:00:42,090 mahu menutup hari ini. 14 00:00:42,090 --> 00:00:43,290 Pertama, bahasa - 15 00:00:43,290 --> 00:00:46,650 bahasa tersebut akan berada dalam Objektif-C. Kami benar-benar akan mendengar 16 00:00:46,650 --> 00:00:47,750 sesuatu yang benar-benar menarik. 17 00:00:47,750 --> 00:00:51,500 Jadi, anda boleh menyertai seluruh Apple komuniti pemaju dan membina beberapa 18 00:00:51,500 --> 00:00:52,940 aplikasi benar-benar hebat. 19 00:00:52,940 --> 00:00:58,670 >> Juga, IOS 7 adalah yang indah, mudah-mudahan, kepada sebahagian dari kamu. 20 00:00:58,670 --> 00:01:01,130 Tetapi ia kontroversi, saya tahu. 21 00:01:01,130 --> 00:01:05,349 Dan terutamanya, apa yang saya mahu lakukan adalah panduan anda melalui Objektif-C, dan juga 22 00:01:05,349 --> 00:01:10,650 Xcode, yang merupakan bersepadu persekitaran pembangunan yang anda akan 23 00:01:10,650 --> 00:01:13,460 bekerja di untuk IOS. 24 00:01:13,460 --> 00:01:19,140 >> Dan sebagainya, hanya satu perkataan pada Objektif-C. Pada asasnya, ia adalah sama benar dengan C, 25 00:01:19,140 --> 00:01:22,790 tetapi dengan banyak perkara-perkara lain. 26 00:01:22,790 --> 00:01:27,710 Dan sebagainya, lebih ketat, ia sebenarnya satu super set C. Jadi apa-apa yang anda 27 00:01:27,710 --> 00:01:32,280 boleh lakukan di C sekarang, yang merupakan pada dasarnya suka Serangga 0 hingga 6, anda 28 00:01:32,280 --> 00:01:34,170 boleh lakukan dalam Objektif-C. 29 00:01:34,170 --> 00:01:38,620 >> Jadi, jangan berasa takut tentang perkara ini baru bahasa yang anda akan belajar. 30 00:01:38,620 --> 00:01:42,120 Anda telah meliputi banyak ia, kerana anda semua dilakukan C ini lalu 31 00:01:42,120 --> 00:01:45,880 semester, kecuali sekarang anda akan mempunyai lebih banyak untuk bekerja dengan. 32 00:01:45,880 --> 00:01:49,270 Dan saya hanya akan membawa anda melalui beberapa contoh untuk mengetengahkan beberapa 33 00:01:49,270 --> 00:01:53,920 satu perbezaan utama yang saya dapati adalah apabila benar-benar penting yang saya belajar 34 00:01:53,920 --> 00:01:57,180 Objektif-C tahun lepas. 35 00:01:57,180 --> 00:02:00,910 >> Well sebenarnya, jadi, titik lain adalah, Objektif-C adalah, jelas, 36 00:02:00,910 --> 00:02:02,200 berorientasikan objek. 37 00:02:02,200 --> 00:02:06,340 Dan kita akan membincangkan sedikit mengenai apa yang bermakna kemudian. 38 00:02:06,340 --> 00:02:11,340 Pada asasnya, ia seperti bagaimana anda bekerja dengan structs dalam Serangga yang lepas, dengan 39 00:02:11,340 --> 00:02:13,360 nod dan lain yang seumpamanya perkara seperti itu. 40 00:02:13,360 --> 00:02:17,110 Kecuali, dalam Objektif-C, semuanya objek, dan anda akan menjadi 41 00:02:17,110 --> 00:02:20,720 mengedarkan petunjuk untuk objek bukannya nilai-nilai diri mereka sendiri. 42 00:02:20,720 --> 00:02:25,050 Jadi, ia hanya sesuatu yang penting perlu diingat. 43 00:02:25,050 --> 00:02:29,140 >> Jadi, mengapa tidak kita mula dengan beberapa perbezaan sintaksis antara C dan 44 00:02:29,140 --> 00:02:30,540 Objektif-C? 45 00:02:30,540 --> 00:02:38,310 Saya mahu untuk menyerlahkan # termasuk, anda tahu, io.h standard dalam C dan C + +, dengan 46 00:02:38,310 --> 00:02:44,030 versi Objektif-C itu, yang adalah # import, dan kemudian beberapa jenis 47 00:02:44,030 --> 00:02:44,790 file header. 48 00:02:44,790 --> 00:02:48,165 Dalam kes ini, ia akan menjadi UIKit, anda tahu, slash UIKit.h. 49 00:02:48,165 --> 00:02:53,560 Ia juga boleh menjadi, anda tahu, MKMapview kepada anda mengurangkan MKMapview.h jika anda mahu 50 00:02:53,560 --> 00:02:56,370 lakukan, seperti, peta bahagian dalam aplikasi anda. 51 00:02:56,370 --> 00:02:57,110 Perkara yang sama seperti itu. 52 00:02:57,110 --> 00:03:01,250 >> Jadi, apa yang penting adalah termasuk kini telah ditukar kepada import. 53 00:03:01,250 --> 00:03:04,340 Tetapi idea masih kekal. 54 00:03:04,340 --> 00:03:10,460 Anda akan mengimport beberapa jenis fail header ke dalam program anda. 55 00:03:10,460 --> 00:03:14,550 >> Saya juga mahu menonjolkan perbezaan antara printf dan NSLog. 56 00:03:14,550 --> 00:03:19,760 Walau bagaimanapun, seperti yang kita katakan sebelum ini, Objektif-C adalah super-set ketat 57 00:03:19,760 --> 00:03:22,800 C, yang bermaksud bahawa printf wujud dalam Objektif-C, juga. 58 00:03:22,800 --> 00:03:24,340 Tetapi, kebanyakan orang tidak menggunakan itu. 59 00:03:24,340 --> 00:03:28,245 Kebanyakan orang menggunakan NSLog ini kerana ia memberikan anda suatu cap masa, dan kita akan melihat 60 00:03:28,245 --> 00:03:29,780 dalam tindakan kemudian. 61 00:03:29,780 --> 00:03:33,560 Tetapi, ia secara umumnya lebih berguna cara untuk mencetak pembolehubah. 62 00:03:33,560 --> 00:03:38,220 >> Dan saya juga ingin memaklumkan bahawa NSLog mengambil masa dalam hanya yang sama 63 00:03:38,220 --> 00:03:41,650 nilai pemegang tempat sebagai printf tidak - 64 00:03:41,650 --> 00:03:45,900 jadi% d adalah untuk int an, % F adalah untuk apungan. 65 00:03:45,900 --> 00:03:49,750 Walau bagaimanapun, saya ingin menyerlahkan salah satu yang terakhir ini - 66 00:03:49,750 --> 00:03:52,960 NSLog% pada tanda - 67 00:03:52,960 --> 00:03:55,390 yang merupakan pemegang tempat bagi sesuatu objek. 68 00:03:55,390 --> 00:04:01,160 Dan seperti yang saya katakan sebelum ini, tawaran Objektif-C cukup banyak kebanyakannya dalam objek, 69 00:04:01,160 --> 00:04:05,020 dan sebagainya ini akan digunakan apabila anda mahu mencetak, mungkin, mungkin an 70 00:04:05,020 --> 00:04:08,390 NSArray, atau NSDictionary, atau NSString. 71 00:04:08,390 --> 00:04:13,750 >> Jadi, begitu juga, perhatian bahawa, NSLog kami pernyataan, kita mempunyai pada tanda di hadapan 72 00:04:13,750 --> 00:04:15,380 sebut harga - 73 00:04:15,380 --> 00:04:20,769 iaitu untuk menandakan tali itu, sekarang, dalam Objektif-C adalah objek. 74 00:04:20,769 --> 00:04:23,310 Mereka tidak lagi bintang hanya char. 75 00:04:23,310 --> 00:04:25,530 Mereka objek dan dilayan seperti itu. 76 00:04:25,530 --> 00:04:28,690 >> Jadi, ia benar-benar penting bahawa apabila anda menggunakan NSLog ia mengambil masa dalam NS 77 00:04:28,690 --> 00:04:32,580 tali, yang bermaksud bahawa anda akan mempunyai termasuk pada di hadapan anda 78 00:04:32,580 --> 00:04:34,270 tanda petikan. 79 00:04:34,270 --> 00:04:38,290 Dan itulah mengapa anda lihat, di sini, dalam semua fungsi saya panggilan ke NSLog ini, saya 80 00:04:38,290 --> 00:04:42,400 mempunyai sekurang-satu di hadapan sebut harga, walaupun walaupun d% dan% f adalah 81 00:04:42,400 --> 00:04:45,200 semua yang sama dari C. 82 00:04:45,200 --> 00:04:47,930 >> Apa-apa soalan setakat ini? 83 00:04:47,930 --> 00:04:50,920 Saya akan cuba untuk pergi melalui ini cepat supaya bahawa kita boleh mempunyai lebih banyak masa untuk bekerja 84 00:04:50,920 --> 00:04:55,210 dengan Xcode dan Objektif-C, jadi bahawa kalian boleh mendapatkan lebih banyak 85 00:04:55,210 --> 00:04:57,630 biasa dengannya. 86 00:04:57,630 --> 00:05:01,900 >> Seterusnya, saya ingin mengetengahkan sesuatu konsep penting. 87 00:05:01,900 --> 00:05:05,130 Jadi, dalam C, kebanyakan perkara adalah fungsi. 88 00:05:05,130 --> 00:05:06,280 Kami membuat panggilan fungsi. 89 00:05:06,280 --> 00:05:10,190 Kami mengaku fungsi cara ini, dengan kembali menaip pertama, maka 90 00:05:10,190 --> 00:05:13,570 nama fungsi, kurungan, dan kemudian apa sahaja hujah-hujah dan jenis 91 00:05:13,570 --> 00:05:15,590 hujah-hujah ini kita mahu untuk lulus masuk 92 00:05:15,590 --> 00:05:19,970 Dan Objektif-C, kerana segala-galanya adalah objek atau kelas - 93 00:05:19,970 --> 00:05:23,970 jadi kelas dan objek dua istilah yang kebanyakannya sinonim dengan satu sama lain, 94 00:05:23,970 --> 00:05:28,270 jadi saya boleh menggunakan mereka silih berganti di seminar berkenaan. 95 00:05:28,270 --> 00:05:34,090 >> Tetapi, anda akan melihat bahawa kita mempunyai kaedah dalam Objektif-C dan bukan fungsi. 96 00:05:34,090 --> 00:05:36,390 Dan kaedah kepunyaan objek-objek. 97 00:05:36,390 --> 00:05:38,950 Jadi hanya kerana, mungkin mengambil sebagai contoh, nod - 98 00:05:38,950 --> 00:05:40,250 Jenis kami [didengar] 99 00:05:40,250 --> 00:05:44,390 nod daripada Serangga 6 atau 5 - 100 00:05:44,390 --> 00:05:49,590 kita mempunyai perkataan, harta, atau penunjuk nod seterusnya. 101 00:05:49,590 --> 00:05:53,880 Kaedah hanya fungsi di dalam daripada beberapa jenis struktur. 102 00:05:53,880 --> 00:05:57,510 >> Jadi, dalam kes ini, struktur akan menjadi objek, dan kemudian kaedah ini 103 00:05:57,510 --> 00:05:59,260 sesuatu yang dimiliki oleh objek. 104 00:05:59,260 --> 00:06:02,650 Dan ini adalah bagaimana anda akan mengisytiharkan, jenis, kaedah. 105 00:06:02,650 --> 00:06:07,990 Anda akan bermula dengan, sekali lagi, pulangan Jenis - jadi, saya cuba untuk warna 106 00:06:07,990 --> 00:06:12,990 kod kata kunci di sini supaya anda semua dapat melihat, sekurang-kurangnya, format 107 00:06:12,990 --> 00:06:17,650 persamaan antara fungsi perisytiharan dan pengisytiharan kaedah. 108 00:06:17,650 --> 00:06:21,990 Jadi, anda mula dengan, anda tahu, pulangan yang Jenis - dalam kes ini, ia adalah satu pameran, atau 109 00:06:21,990 --> 00:06:23,910 penunjuk NSArray - 110 00:06:23,910 --> 00:06:26,710 dan kemudian anda perlu kaedah ini. 111 00:06:26,710 --> 00:06:30,900 Dan kemudian, apa yang menarik di sini ialah yang bukan mempunyai kurungan, kami 112 00:06:30,900 --> 00:06:32,900 mempunyai titik bertindih ini. 113 00:06:32,900 --> 00:06:38,450 Dan kemudian, di hadapan hujah kami, kami meletakkan, sekali lagi, dalam kurungan jenis yang 114 00:06:38,450 --> 00:06:39,370 hujah kami. 115 00:06:39,370 --> 00:06:43,160 >> Jadi, sekarang saya cuba untuk membuat perbandingan antara, anda tahu, n dan 116 00:06:43,160 --> 00:06:45,450 nombor, kerana mereka kedua-dua Ints seperti. 117 00:06:45,450 --> 00:06:49,580 Dan kemudian, yang satu lagi adalah satu jenis NSUInteger. 118 00:06:49,580 --> 00:06:56,390 Dan kemudian, dengan Objektif-C, apabila anda mahu mempunyai pelbagai hujah-hujah yang 119 00:06:56,390 --> 00:07:00,030 fasal anda kaedah, anda, jenis, memisahkan mereka daripada jenis seperti ini - 120 00:07:00,030 --> 00:07:03,790 Saya tidak pasti bagaimana untuk menerangkan ia, tetapi ini adalah satu contoh yang baik bagaimana anda 121 00:07:03,790 --> 00:07:06,530 boleh mempunyai pelbagai hujah-hujah yang ada. 122 00:07:06,530 --> 00:07:10,360 >> Anda boleh, sudah tentu, hanya betul-betul mengabaikan kolon andArray yang NSArray 123 00:07:10,360 --> 00:07:13,240 pelbagai jika anda mahu hanya kaedah yang yang mengambil dalam satu hujah. 124 00:07:13,240 --> 00:07:13,677 Ya, soalan. 125 00:07:13,677 --> 00:07:18,701 >> PENONTON: Adakah kedua-dua NSUInteger dan Hujah NSArray yang boleh diambil di 126 00:07:18,701 --> 00:07:21,530 dalam NSArray? 127 00:07:21,530 --> 00:07:22,060 >> RHED SHI: Ya. 128 00:07:22,060 --> 00:07:23,400 Jadi, biarlah saya menerangkan. 129 00:07:23,400 --> 00:07:23,790 Jadi, ya. 130 00:07:23,790 --> 00:07:30,260 Jadi, soalan itu adalah NSUInteger dan NSArray * jenis hujah-hujah, 131 00:07:30,260 --> 00:07:31,570 dan itulah yang betul. 132 00:07:31,570 --> 00:07:35,700 Jadi, anda sentiasa mahu menetapkan apa yang jenis hujah anda. 133 00:07:35,700 --> 00:07:41,570 Dan di sini, saya cuba untuk memperkenalkan anda kepada beberapa sintaks dan vocab daripada 134 00:07:41,570 --> 00:07:45,910 Objektif-C, jadi mereka adalah jenis sebenar bahawa anda akan berurusan dengan. 135 00:07:45,910 --> 00:07:48,970 >> Dan seperti yang anda akan notis, tatasusunan tidak lagi, jenis, 136 00:07:48,970 --> 00:07:50,780 mudah perkara kurungan. 137 00:07:50,780 --> 00:07:52,060 Mereka objek. 138 00:07:52,060 --> 00:07:56,700 Walaupun, jika kita pergi ke seterusnya slaid, kita dapat melihat bahawa kita boleh 139 00:07:56,700 --> 00:08:02,510 keras-kod yang NSArray dalam Objektif-C dengan hanya simbol di di hadapan 140 00:08:02,510 --> 00:08:04,190 kurungan. 141 00:08:04,190 --> 00:08:08,650 Saya tidak, sebenarnya, agak pasti sama ada Saya sintaksis berkod keras array 142 00:08:08,650 --> 00:08:16,020 dengan betul untuk versi C, tetapi itu sepatutnya dalam pelbagai C. 143 00:08:16,020 --> 00:08:19,760 >> Jadi, ini adalah bagaimana anda akan, anda tahu, mungkin menggunakan fungsi-fungsi atau 144 00:08:19,760 --> 00:08:21,990 kaedah yang kita dicipta lebih awal. 145 00:08:21,990 --> 00:08:22,250 Betul? 146 00:08:22,250 --> 00:08:25,340 Jadi, ini adalah di mana kami mengisytiharkan kami fungsi dan kaedah kami. 147 00:08:25,340 --> 00:08:28,020 Dan sekarang kita mahu menggunakannya dalam program kami, dan ini adalah 148 00:08:28,020 --> 00:08:29,450 bagaimana kita akan melakukannya. 149 00:08:29,450 --> 00:08:32,400 Jadi, dalam C, anda perlu, anda tahu, mungkin, bool b, dan anda menetapkannya 150 00:08:32,400 --> 00:08:36,549 sama majlis itu, dan kemudian anda meninggal dalam hujah. 151 00:08:36,549 --> 00:08:39,190 >> Dalam Objektif-C, ia agak banyak perkara yang sama. 152 00:08:39,190 --> 00:08:43,370 Anda mempunyai NSArray * my_array, dan ia akan sama - sekarang, satu-satunya 153 00:08:43,370 --> 00:08:47,460 perbezaan di sini adalah perkara objek ini, yang saya telah diketengahkan dalam kuning, dan 154 00:08:47,460 --> 00:08:51,180 seperti yang anda lihat, dalam C, ada ada perkataan kuning yang lain. 155 00:08:51,180 --> 00:08:54,170 Dan ia adalah kerana kaedah milik dengan objek tertentu. 156 00:08:54,170 --> 00:08:59,800 Jadi sebab itu saya perlu mempunyai objek yang, jenis, panggilan kaedah ini ke atas 157 00:08:59,800 --> 00:09:04,360 nombor sifar, dan kemudian yang NSArray a, b, c, d. 158 00:09:04,360 --> 00:09:05,350 Soalan mengenai itu? 159 00:09:05,350 --> 00:09:12,190 >> Kita akan melihat konsep-konsep ini dalam tindakan cantik tidak lama lagi apabila kita pergi ke demo. 160 00:09:12,190 --> 00:09:13,400 OK. 161 00:09:13,400 --> 00:09:17,170 Sekarang, saya mahu bercakap sedikit secara ringkas mengenai Xcode 5, yang merupakan 162 00:09:17,170 --> 00:09:21,160 persekitaran pembangunan bersepadu yang anda akan bekerja dengan. 163 00:09:21,160 --> 00:09:26,160 Saya tahu banyak anda, atau sebahagian dari kamu, tidak mempunyai Mac, yang menjadi masalah 164 00:09:26,160 --> 00:09:30,490 kerana Xcode tidak terdapat untuk Windows dan PC. 165 00:09:30,490 --> 00:09:32,785 Jangan tanya saya mengapa, tetapi mungkin - 166 00:09:32,785 --> 00:09:33,730 yeah, korporat. 167 00:09:33,730 --> 00:09:35,290 Apa sahaja. 168 00:09:35,290 --> 00:09:39,360 Tetapi bagaimanapun, jadi, saya memohon maaf jika beberapa anda perlu memuat turun beberapa jenis 169 00:09:39,360 --> 00:09:43,000 mesin maya untuk Mac dalam Untuk berjalan Xcode 5. 170 00:09:43,000 --> 00:09:46,460 Tetapi ia adalah satu bagus cantik perisian untuk digunakan. 171 00:09:46,460 --> 00:09:51,280 >> Dan sebagainya, sebelum kita menyelam ke dalam sebarang bentuk demo, saya hanya mahu menunjukkan 172 00:09:51,280 --> 00:09:55,700 gambar apa Xcode kelihatan seperti dalam anda tingkap, dan kemudian juga bercakap mengenai 173 00:09:55,700 --> 00:09:57,670 apa ruang ini seluruh. 174 00:09:57,670 --> 00:10:01,600 Jadi, ia adalah jenis seperti belajar bagaimana untuk menggunakan Microsoft Word, kecuali anda mahu 175 00:10:01,600 --> 00:10:04,675 mendapatkan berjinak dengan semua perkara yang berbeza yang 176 00:10:04,675 --> 00:10:06,250 sedang berlaku di sini. 177 00:10:06,250 --> 00:10:11,160 >> Jadi pertama, beri perhatian kepada anda ke bar alat di bahagian atas. 178 00:10:11,160 --> 00:10:14,450 Anda akan melihat bahawa, di bahagian atas, anda akan mempunyai nama fail - 179 00:10:14,450 --> 00:10:18,100 atau, sebenarnya, nama projek anda dan kemudian nama fail anda. 180 00:10:18,100 --> 00:10:20,940 Perhatikan bermain dan butang berhenti. 181 00:10:20,940 --> 00:10:24,210 Mereka adalah orang-orang yang anda akan menggunakan untuk menjalankan aplikasi anda pada 182 00:10:24,210 --> 00:10:25,600 simulator - 183 00:10:25,600 --> 00:10:26,550 simulator IOS. 184 00:10:26,550 --> 00:10:29,940 Secara automatik disertakan dengan Xcode 5, jadi anda tidak perlu bimbang tentang 185 00:10:29,940 --> 00:10:32,070 memuat turun beberapa jenis simulator. 186 00:10:32,070 --> 00:10:34,700 Anda hanya tekan bermain dan kemudian ia berjalan aplikasi anda. 187 00:10:34,700 --> 00:10:39,230 Dan anda boleh bermain-main dengan anda, dan anda akan melihat bagaimana ia berfungsi kemudian. 188 00:10:39,230 --> 00:10:42,690 >> Dan kemudian, di tengah, sudah tentu, adalah di mana semua kod cantik anda 189 00:10:42,690 --> 00:10:44,240 akan pergi. 190 00:10:44,240 --> 00:10:48,340 Dan kemudian, di sebelah kiri, anda akan mempunyai ini, jenis, folder - 191 00:10:48,340 --> 00:10:50,340 navigasi - 192 00:10:50,340 --> 00:10:53,970 dan kemudian, anda juga akan melihat bahawa, bersama-sama dengan ikon folder, terdapat 193 00:10:53,970 --> 00:10:57,680 sekumpulan ikon lain sana yang akan berguna kemudian. 194 00:10:57,680 --> 00:11:04,710 >> Dan kemudian, di sebelah kanan adalah utiliti yang kawasan di mana anda boleh bekerja dengan 195 00:11:04,710 --> 00:11:09,620 beberapa objek dan menentukan, anda tahu, apa warna yang sepatutnya, apa yang 196 00:11:09,620 --> 00:11:12,040 Fon teks harus, dan sebagainya. 197 00:11:12,040 --> 00:11:15,890 Walaupun, semua yang anda lakukan di kawasan utiliti, anda boleh 198 00:11:15,890 --> 00:11:17,480 lakukan dalam kod juga. 199 00:11:17,480 --> 00:11:21,630 Dan sebagainya, saya akan pergi melalui dua contoh menggunakan, hanya, tidak ada kod di 200 00:11:21,630 --> 00:11:23,730 semua - atau kod sangat minimum - 201 00:11:23,730 --> 00:11:28,290 ayat semua kod, hanya supaya kamu tahu apa yang anda boleh dan tidak boleh lakukan di 202 00:11:28,290 --> 00:11:29,260 Xcode dan Objektif-C. 203 00:11:29,260 --> 00:11:32,770 >> Dan kemudian, akhirnya, turun di bahagian bawah, anda mempunyai kawasan nyahpepijat. 204 00:11:32,770 --> 00:11:37,270 Jadi, anda tidak lagi perlu menjalankan GDB, dan sebagainya, pada program anda. 205 00:11:37,270 --> 00:11:39,180 Ia secara automatik tidak untuk anda. 206 00:11:39,180 --> 00:11:42,880 Dan anda juga boleh mencetak barangan ke kawasan ini. 207 00:11:42,880 --> 00:11:46,790 Jadi sebenarnya, kemudian, kita akan melalui mario.c, jika anda semua masih ingat 208 00:11:46,790 --> 00:11:49,000 bahawa, dalam Xcode. 209 00:11:49,000 --> 00:11:50,360 Jadi yang perlu menyeronokkan. 210 00:11:50,360 --> 00:11:55,870 >> Dan kemudian, hanya untuk membawa kembali ke Objektif-C, saya mahu untuk menyerlahkan apa 211 00:11:55,870 --> 00:11:57,440 anda boleh lakukan dengan jika kenyataan. 212 00:11:57,440 --> 00:12:03,160 Jadi, anda tahu, kerana Objektif-C adalah superset C, semua yang anda lakukan adalah, 213 00:12:03,160 --> 00:12:06,890 secara literal, yang sama seperti C. Anda hanya mempunyai sedikit perbezaan. 214 00:12:06,890 --> 00:12:10,810 Jadi, anda akan notis borang untuk jika Penyataan masih sama - anda mempunyai 215 00:12:10,810 --> 00:12:14,280 jika, dan kemudian anda perlu kurungan dengan keadaan di dalam, dan kemudian 216 00:12:14,280 --> 00:12:17,150 pendakap kerinting untuk apa sahaja yang anda mahu lakukan dalam sana. 217 00:12:17,150 --> 00:12:21,680 >> Walau bagaimanapun, saya mahu meletakkan slaid ini sehingga di sini, semata-mata untuk menggambarkan bahawa, 218 00:12:21,680 --> 00:12:25,680 kerana kita berurusan dengan objek sekarang, kita perlu menggunakan perkara-perkara ini 219 00:12:25,680 --> 00:12:31,240 dipanggil seperti, adalah sama dengan tali, yang adalah, secara kebetulan, satu kaedah yang 220 00:12:31,240 --> 00:12:33,710 tali atau objek NSString. 221 00:12:33,710 --> 00:12:38,600 Jadi, perkataan, dalam kes ini, adalah satu NSString membantah, dan ia mempunyai kaedah yang disebut adalah 222 00:12:38,600 --> 00:12:44,150 sama dengan tali, dan kemudian kita lulus dalam rentetan berkod keras untuk melihat 223 00:12:44,150 --> 00:12:48,110 sama ada mereka adalah sama satu sama lain. 224 00:12:48,110 --> 00:12:51,580 >> Apa-apa soalan setakat ini? 225 00:12:51,580 --> 00:12:52,440 OK. 226 00:12:52,440 --> 00:12:56,190 Dan, saya mahu pergi ke yang bagi pernyataan juga. 227 00:12:56,190 --> 00:13:01,420 >> Jadi, sebagai contoh, jika kita mahu gelung lebih panjang rentetan dalam C, ini 228 00:13:01,420 --> 00:13:03,710 harus biasa kepada anda. 229 00:13:03,710 --> 00:13:07,840 Dan, dalam Objektif-C, saya mahu untuk menyerlahkan ini, jenis, 230 00:13:07,840 --> 00:13:09,235 kaedah dipanggil kiraan. 231 00:13:09,235 --> 00:13:13,260 232 00:13:13,260 --> 00:13:15,550 Well, sebenarnya, saya hanya mengambil kembali itu. 233 00:13:15,550 --> 00:13:17,200 Count adalah kaedah pelbagai. 234 00:13:17,200 --> 00:13:21,070 Walau bagaimanapun, ia lebih khusus yang harta pelbagai, itulah sebabnya anda 235 00:13:21,070 --> 00:13:22,380 boleh menggunakan notasi titik. 236 00:13:22,380 --> 00:13:25,870 Tetapi saya tidak mahu masuk ke dalam terlalu banyak barangan konsep ini, saya hanya mahu 237 00:13:25,870 --> 00:13:30,140 menunjukkan bagaimana perkara akan kelihatan seperti dalam Objektif-C berbanding C. 238 00:13:30,140 --> 00:13:35,400 >> Dan juga, saya ingin menunjukkan bahawa walaupun saya telah menggunakan NSUInteger 239 00:13:35,400 --> 00:13:39,860 di hadapan semua saya i dalam Objektif-C, anda juga boleh menggunakan int, kerana int adalah 240 00:13:39,860 --> 00:13:42,290 betul-betul sah Objektif-C, juga. 241 00:13:42,290 --> 00:13:42,475 Ya? 242 00:13:42,475 --> 00:13:44,350 >> PENONTON: Adakah ia hanya gaya, atau - 243 00:13:44,350 --> 00:13:44,760 >> RHED SHI: Yeah. 244 00:13:44,760 --> 00:13:46,060 Jadi, seperti yang anda akan melihat - 245 00:13:46,060 --> 00:13:49,390 jadi, soalan itu ialah sahaja isu gaya. 246 00:13:49,390 --> 00:13:54,820 Seperti yang anda akan lihat, saya mempunyai, jenis, bintang perkara asterisk turun di bahagian bawah, dan 247 00:13:54,820 --> 00:13:59,870 pautan yang membawa anda ke Limpahan Stack membentuk, di mana seseorang menerangkan 248 00:13:59,870 --> 00:14:03,640 perbezaan antara int dalam NSInteger dan NSUInteger. 249 00:14:03,640 --> 00:14:05,540 Dan sebagainya, anda boleh membaca tentang itu kemudian. 250 00:14:05,540 --> 00:14:07,640 Ini slaid akan, sudah tentu, disediakan untuk anda. 251 00:14:07,640 --> 00:14:10,300 252 00:14:10,300 --> 00:14:11,280 >> Mari kita lihat. 253 00:14:11,280 --> 00:14:12,150 OK, hebat. 254 00:14:12,150 --> 00:14:15,410 Jadi, ini juga termasuk dalam slaid kerana saya fikir ini adalah satu yang besar 255 00:14:15,410 --> 00:14:19,370 laman web yang memperkenalkan anda kepada Objektif-C sintaksis. 256 00:14:19,370 --> 00:14:24,410 Jadi, sebenarnya, mengapa kita tidak berpindah ke Chrome dan menyemak laman web ini? 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> Betul. 259 00:14:31,300 --> 00:14:36,670 Jadi, apa yang saya mahu untuk menunjukkan kepada anda lelaki di sini adalah imej ini. 260 00:14:36,670 --> 00:14:41,630 Jadi, ini, jenis, akan menjadi apa anda akan melihat bahagian dalam mana-mana 261 00:14:41,630 --> 00:14:42,890 File Xcode. 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 Sebenarnya, kenapa pula kita tidak hanya mengambil seketika untuk, jenis, mengambil masuk 264 00:14:51,430 --> 00:14:53,470 >> Jadi, buku ini - 265 00:14:53,470 --> 00:14:55,880 itulah objek yang kita berurusan dengan. 266 00:14:55,880 --> 00:14:59,680 Dan kemudian, ia jelas akan menjadi diwarisi daripada beberapa objek lain, tetapi 267 00:14:59,680 --> 00:15:01,810 anda tidak perlu bimbang tentang itu. 268 00:15:01,810 --> 00:15:04,430 Dan kemudian, ia, mungkin, mempunyai beberapa pembolehubah anggota. 269 00:15:04,430 --> 00:15:09,160 >> Perkara penting yang saya ingin menunjukkan kepada anda adalah kaedah contoh, di sini. 270 00:15:09,160 --> 00:15:12,670 Jadi, kaedah contoh yang ditandakan oleh tanda tolak ini. 271 00:15:12,670 --> 00:15:15,550 Dan kemudian, seperti yang anda akan notis, kita sudah mula melihat paradigma 272 00:15:15,550 --> 00:15:17,670 pengisytiharan kaedah, bukan? 273 00:15:17,670 --> 00:15:22,670 Jenis balasan, nama kaedah,, dan maka jenis hujah, dan 274 00:15:22,670 --> 00:15:24,660 maka nama hujah. 275 00:15:24,660 --> 00:15:29,090 Dan tanda tolak ini bermakna bahawa ia adalah satu kaedah contoh, yang bermaksud bahawa 276 00:15:29,090 --> 00:15:32,270 kaedah ini adalah hanya boleh didapati untuk objek yang telah terjadi di. 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> Untuk bezakan itu, kaedah dengan ditambah dengan menandatangani di hadapan mereka adalah kelas 279 00:15:39,100 --> 00:15:43,640 kaedah, yang bermakna bahawa anda boleh menghubungi kaedah ini, walaupun anda tidak mempunyai 280 00:15:43,640 --> 00:15:45,970 objek lagi diciptakan. 281 00:15:45,970 --> 00:15:51,600 Jadi, sebagai contoh yang jelas, NSString adalah kelas. 282 00:15:51,600 --> 00:15:55,850 Dan anda boleh memanggil, sebagai contoh, kaedah kelas pada NSString - 283 00:15:55,850 --> 00:15:58,660 sebenar, seperti, perkataan NSString. 284 00:15:58,660 --> 00:16:02,050 >> Walau bagaimanapun, untuk menggunakan kaedah, anda benar-benar 285 00:16:02,050 --> 00:16:03,460 perlu mewujudkan rentetan. 286 00:16:03,460 --> 00:16:08,980 Sebagai contoh, NSString tali bintang sama pada tanda petikan, hello dunia. 287 00:16:08,980 --> 00:16:10,910 Dan kemudian, anda boleh menggunakan kaedah ini - 288 00:16:10,910 --> 00:16:11,990 kaedah misalnya - 289 00:16:11,990 --> 00:16:14,790 pada yang hello tali dunia. 290 00:16:14,790 --> 00:16:17,825 Jadi, itu perbezaan di antara kaedah contoh dan kaedah kelas. 291 00:16:17,825 --> 00:16:20,390 292 00:16:20,390 --> 00:16:21,930 >> Dan, kita hanya dilindungi bahagian ini. 293 00:16:21,930 --> 00:16:25,300 294 00:16:25,300 --> 00:16:33,750 Hartanah adalah satu lagi perkara yang bahagian dalam objek, pada asasnya. 295 00:16:33,750 --> 00:16:37,530 Dan anda mengisytiharkan mereka dengan di kata kunci harta. 296 00:16:37,530 --> 00:16:39,940 Anda mempunyai pilihan ini, di sini, yang saya akan menjelaskan kemudian apabila 297 00:16:39,940 --> 00:16:43,110 kita pergi ke demo. 298 00:16:43,110 --> 00:16:43,660 Ya? 299 00:16:43,660 --> 00:16:43,950 Hi. 300 00:16:43,950 --> 00:16:45,440 >> PENONTON: Bolehkah anda zum masuk, sila? 301 00:16:45,440 --> 00:16:46,130 >> RHED SHI: Oh ya. 302 00:16:46,130 --> 00:16:46,560 Maaf. 303 00:16:46,560 --> 00:16:49,140 >> PENONTON: Terima kasih. 304 00:16:49,140 --> 00:16:50,005 >> RHED SHI: Yang sepatutnya menjadi lebih baik. 305 00:16:50,005 --> 00:16:51,240 >> PENONTON: Yeah. 306 00:16:51,240 --> 00:16:53,940 Terima kasih. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Ya, sila mengingatkan saya jika Saya terlupa untuk mengezum masuk atau zum keluar. 308 00:16:56,815 --> 00:17:00,590 309 00:17:00,590 --> 00:17:03,570 Jadi, ini adalah semua saya mahu menunjukkan untuk - 310 00:17:03,570 --> 00:17:05,970 wah, itu banyak - 311 00:17:05,970 --> 00:17:06,790 untuk laman web ini. 312 00:17:06,790 --> 00:17:12,210 Jadi, mari kita kembali kepada slaid kami. 313 00:17:12,210 --> 00:17:17,819 >> Sebenarnya, sekarang mari kita mengambil masa menyelam ke dalam demo. 314 00:17:17,819 --> 00:17:25,490 Jadi, kami akan bermula dengan projek Xcode baru. 315 00:17:25,490 --> 00:17:33,040 Jadi, jika anda akan membuka Xcode pada semua mesin anda, ia akan membawa anda beberapa 316 00:17:33,040 --> 00:17:36,720 halaman di mana ia berkata, seperti, sama ada terbuka sehingga projek yang sedia ada atau yang baru 317 00:17:36,720 --> 00:17:39,230 projek, dan anda harus klik projek baru. 318 00:17:39,230 --> 00:17:41,477 Dan kemudian, ia perlu mengambil anda ke skrin ini. 319 00:17:41,477 --> 00:17:41,593 Ya? 320 00:17:41,593 --> 00:17:44,279 >> PENONTON: Jika kita tidak mempunyai Mac, kita hanya jenis berehat? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: Atau memandang dengan seseorang, yeah. 322 00:17:46,870 --> 00:17:47,740 Yeah. 323 00:17:47,740 --> 00:17:50,660 Anda boleh berehat juga. 324 00:17:50,660 --> 00:17:51,570 OK. 325 00:17:51,570 --> 00:17:55,410 >> Jadi, apa yang kita akan lakukan pertama, kini, adalah, sebenarnya, kita akan melakukan 326 00:17:55,410 --> 00:17:56,600 permohonan pandangan tunggal. 327 00:17:56,600 --> 00:18:01,340 Jadi, jika anda akan notis, apa yang besar mengenai Xcode dan sokongan Apple untuk 328 00:18:01,340 --> 00:18:05,690 pemaju adalah bahawa anda mempunyai banyak template untuk bekerja dengan sudah. 329 00:18:05,690 --> 00:18:09,210 Anda boleh, sebagai contoh, membuat permohonan tuan-terperinci. 330 00:18:09,210 --> 00:18:10,920 Anda boleh membuat permainan - 331 00:18:10,920 --> 00:18:13,860 dan benar-benar, saya tidak akan pergi ke dalam permainan, kerana permainan adalah cerita yang berbeza 332 00:18:13,860 --> 00:18:15,320 untuk pembangunan IOS. 333 00:18:15,320 --> 00:18:18,930 Dan mereka jenis yang berasingan, jadi saya tidak akan pergi ke dalam itu. 334 00:18:18,930 --> 00:18:22,580 >> Kemudian, anda telah berasaskan halaman permohonan. 335 00:18:22,580 --> 00:18:24,010 Anda mempunyai aplikasi tekan - 336 00:18:24,010 --> 00:18:29,350 jadi suka, sebagai contoh, Bank of America mungkin mempunyai, seperti, aplikasi yang tab. 337 00:18:29,350 --> 00:18:32,140 Ia adalah orang-orang yang di mana anda mempunyai butang di bahagian bawah. 338 00:18:32,140 --> 00:18:34,750 Dan kemudian, anda mempunyai permainan Kit Sprite. 339 00:18:34,750 --> 00:18:38,670 >> Atau anda boleh bekerja dari awal, yang adalah apa yang kita akan lakukan kemudian. 340 00:18:38,670 --> 00:18:42,470 Tetapi mari kita, pertama, bermula dengan permohonan pandangan tunggal. 341 00:18:42,470 --> 00:18:48,590 Kemudian, ia akan meminta nama produk, dan kita hanya boleh melakukan ujian. 342 00:18:48,590 --> 00:18:50,190 Nama organisasi - 343 00:18:50,190 --> 00:18:54,140 jadi, nama organisasi, syarikat pengecam - 344 00:18:54,140 --> 00:18:58,100 mereka adalah penting jika anda akan untuk meletakkan aplikasi anda di kedai app. 345 00:18:58,100 --> 00:19:01,110 346 00:19:01,110 --> 00:19:05,116 Selain daripada itu, kod anda akan menjalankan benar-benar halus tanpa ini. 347 00:19:05,116 --> 00:19:09,940 >> Ini akan menjadi penting jika anda mahu - jadi, per se, seperti, meletakkan aplikasi anda 348 00:19:09,940 --> 00:19:14,080 ke telefon atau sesuatu yang anda, dan ujian ia keluar, anda tahu, dalam kehidupan sebenar - 349 00:19:14,080 --> 00:19:15,360 ini akan menjadi penting. 350 00:19:15,360 --> 00:19:20,110 Ini cenderung untuk sentiasa berkaitan dengan semacam akaun pemaju 351 00:19:20,110 --> 00:19:20,970 dengan Apple. 352 00:19:20,970 --> 00:19:24,740 >> Dan sebagainya, saya tahu, mungkin, banyak anda tidak akan mempunyai apa-apa akaun pemaju. 353 00:19:24,740 --> 00:19:26,460 Saya tahu universiti mempunyai satu. 354 00:19:26,460 --> 00:19:27,630 Saya rasa CS mempunyai satu. 355 00:19:27,630 --> 00:19:32,770 Tetapi, anda boleh e-mel saya dan saya akan cuba untuk mengetahui bahawa untuk anda. 356 00:19:32,770 --> 00:19:38,210 Tetapi sekarang, saya baru sahaja dimasukkan ke dalam beberapa perkara pemegang tempat di sini. 357 00:19:38,210 --> 00:19:41,250 >> Dan anda boleh, sudah tentu, di sini, pilih sama ada anda mahu ia menjadi semata-mata 358 00:19:41,250 --> 00:19:44,410 iPhone, dalam iPad, atau kedua-duanya - 359 00:19:44,410 --> 00:19:46,630 permohonan sejagat. 360 00:19:46,630 --> 00:19:56,170 Jadi, buat masa ini, mari kita buat sejagat, sama untuk melihat kedua-dua belah platform. 361 00:19:56,170 --> 00:19:57,120 >> Mari kita lihat. 362 00:19:57,120 --> 00:20:01,510 Jadi, sekarang, saya akan menyimpan dalam beberapa jenis folder. 363 00:20:01,510 --> 00:20:04,500 Tidak kira di mana - anda sentiasa boleh bergerak kemudian. 364 00:20:04,500 --> 00:20:09,380 Dan, sekarang, kita dibawa untuk projek Xcode kami. 365 00:20:09,380 --> 00:20:12,890 Saya tidak akan bimbang tentang semua ini. 366 00:20:12,890 --> 00:20:17,510 Saya cadangkan tidak menyentuh mana-mana ini, melainkan jika anda tahu apa yang 367 00:20:17,510 --> 00:20:18,260 yang anda lakukan. 368 00:20:18,260 --> 00:20:21,750 Jadi, semua ini, jangan hiraukan untuk sebahagian besar. 369 00:20:21,750 --> 00:20:26,940 Anda tidak perlu untuk disentuh, dan jika anda adakah anda merosakkan beberapa perkara di sini, ia 370 00:20:26,940 --> 00:20:28,600 mendapat sedikit rumit. 371 00:20:28,600 --> 00:20:32,480 >> Jadi, mengapa tidak kita melihat ke dalam gambar-gambar yang di 372 00:20:32,480 --> 00:20:34,700 sebelah kiri di navigasi kami. 373 00:20:34,700 --> 00:20:37,060 Di sini, kita mempunyai AppDelegate.h. 374 00:20:37,060 --> 00:20:43,430 Kami mempunyai AppDelegate.m Jadi, seperti yang anda akan notis, kami telah pengepala fail, yang 375 00:20:43,430 --> 00:20:45,720 berakhir pada dot h, dan kami mempunyai pelaksanaan - 376 00:20:45,720 --> 00:20:46,970 sebenarnya, saya zum masuk 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 Biar saya zum masuk 380 00:20:59,940 --> 00:21:05,810 >> Betul, jadi anda telah pengepala fail dan anda mempunyai fail pelaksanaan. 381 00:21:05,810 --> 00:21:07,060 Sebenarnya - 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 Ini adalah sedikit pelik, tetapi menanggung dengan saya. 385 00:21:11,800 --> 00:21:16,140 Kemudian, kerana kita telah memilih pandangan tunggal permohonan, kita akan menjadi 386 00:21:16,140 --> 00:21:17,340 bekerja dengan papan cerita. 387 00:21:17,340 --> 00:21:22,140 >> Jadi, papan cerita adalah sesuatu yang Apple telah datang dengan untuk benar-benar membantu 388 00:21:22,140 --> 00:21:26,550 pemaju pesat prototaip permohonan mereka. 389 00:21:26,550 --> 00:21:29,410 Jadi, ini adalah di mana anda boleh membuat aplikasi tanpa menulis 390 00:21:29,410 --> 00:21:31,710 baris kod. 391 00:21:31,710 --> 00:21:35,390 Walau bagaimanapun, dalam permohonan tunggal pandangan kami, kita, sudah tentu, mempunyai 392 00:21:35,390 --> 00:21:41,270 memfailkan untuk panduan kita, yang adalah pengawal pandangan. 393 00:21:41,270 --> 00:21:45,150 Jadi, kita mempunyai header dan fail pelaksanaan, di sini. 394 00:21:45,150 --> 00:21:52,350 >> Dan, saya akan zum keluar sekarang kerana kami akan perlu bekerja dalam papan cerita. 395 00:21:52,350 --> 00:21:55,190 Jadi, di sini pandangan kami. 396 00:21:55,190 --> 00:22:00,120 Jika kita, hanya, jalankan aplikasi sekarang, tidak banyak yang menarik berlaku. 397 00:22:00,120 --> 00:22:03,270 398 00:22:03,270 --> 00:22:05,040 Jadi, anda akan melihat skrin putih ini. 399 00:22:05,040 --> 00:22:06,110 OK? 400 00:22:06,110 --> 00:22:14,010 >> Dan, di kawasan utiliti kami, kami boleh menambah sekumpulan perkara yang berbeza dengannya. 401 00:22:14,010 --> 00:22:19,290 Jadi, apabila anda berurusan dengan skrin dalam IOS, pandangan pengawal adalah 402 00:22:19,290 --> 00:22:23,150 objek yang merangkumi, jenis, pandangan anda. 403 00:22:23,150 --> 00:22:26,980 Jadi, pengawal pandangan sentiasa telah harta yang dipanggil pandangan. 404 00:22:26,980 --> 00:22:29,610 Dan pandangan itu, biasanya, mengandungi, anda tahu, apa yang anda 405 00:22:29,610 --> 00:22:30,810 mahu melihat pada skrin. 406 00:22:30,810 --> 00:22:39,210 >> Jadi, baik, mari kita hanya bermula dengan meletakkan, mungkin, mungkin label. 407 00:22:39,210 --> 00:22:41,450 Jadi, mari kita meletakkan label di sana - 408 00:22:41,450 --> 00:22:44,080 melekat di tengah-tengah. 409 00:22:44,080 --> 00:22:49,560 Jadi, sekarang saya klik pada label, saya boleh pergi ke inspektor hartanah yang 410 00:22:49,560 --> 00:22:51,510 dan mula berubah nilainya. 411 00:22:51,510 --> 00:22:55,040 Mari kita memanggilnya CS50 Colours. 412 00:22:55,040 --> 00:22:58,220 >> Dan, saya juga boleh menukar fon. 413 00:22:58,220 --> 00:23:02,630 Jadi, daripada melakukan sistem, yang merupakan lalai, kita boleh melakukan satu adat. 414 00:23:02,630 --> 00:23:03,770 Kita boleh berubah - 415 00:23:03,770 --> 00:23:06,453 anda tahu, ultralight, menjadikannya 32. 416 00:23:06,453 --> 00:23:09,000 417 00:23:09,000 --> 00:23:11,370 Dan kemudian, kita boleh membuat kotak kami yang lebih besar. 418 00:23:11,370 --> 00:23:14,410 >> PENONTON: Adakah anda fikir anda boleh mengezum di lebih sedikit, mungkin? 419 00:23:14,410 --> 00:23:14,810 >> RHED SHI: Ya? 420 00:23:14,810 --> 00:23:16,196 OK. 421 00:23:16,196 --> 00:23:17,450 >> PENONTON: Hanya ketuk ia? 422 00:23:17,450 --> 00:23:19,020 >> RHED SHI: Mari kita lihat. 423 00:23:19,020 --> 00:23:20,382 Adakah kerja ini? 424 00:23:20,382 --> 00:23:22,270 >> PENONTON: Hanya lulus Xcode? 425 00:23:22,270 --> 00:23:23,520 >> RHED SHI: Pasti. 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 Awesome. 429 00:23:26,275 --> 00:23:27,072 >> PENONTON: Label di bawah? 430 00:23:27,072 --> 00:23:28,920 Label? 431 00:23:28,920 --> 00:23:29,480 >> RHED SHI: Apa itu? 432 00:23:29,480 --> 00:23:32,050 >> PENONTON: Apa drop-down adalah label yang di bawah? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: Jadi, soalan itu, apa yang jatuh turun adalah label di bawah? 434 00:23:35,170 --> 00:23:37,260 Ia perlu, hanya, berada di bawah sini. 435 00:23:37,260 --> 00:23:39,330 Saya rasa ia adalah satu perkara yang kuasa tiga. 436 00:23:39,330 --> 00:23:40,910 Tetapi biasanya, ini adalah lalai - 437 00:23:40,910 --> 00:23:43,250 Saya hanya akan turun di sini sehingga saya mendapati label. 438 00:23:43,250 --> 00:23:45,800 439 00:23:45,800 --> 00:23:47,730 Yeah. 440 00:23:47,730 --> 00:23:48,950 >> Jadi sekarang, kami mempunyai label kami. 441 00:23:48,950 --> 00:23:51,040 Mari kita pusat itu. 442 00:23:51,040 --> 00:23:56,410 Dan Xcode memberikan kita garis panduan untuk memusatkan objek. 443 00:23:56,410 --> 00:23:59,510 444 00:23:59,510 --> 00:24:01,480 Jadi, mari kita menjalankan kod kami lagi. 445 00:24:01,480 --> 00:24:08,110 446 00:24:08,110 --> 00:24:08,800 >> Di sana kami pergi. 447 00:24:08,800 --> 00:24:10,310 Jadi, kita mempunyai CS50 Colours. 448 00:24:10,310 --> 00:24:13,720 449 00:24:13,720 --> 00:24:15,420 Dan sekarang, mari kita meletakkan butang di sana, bukan? 450 00:24:15,420 --> 00:24:17,480 Kerana kita ingin ini interaktif. 451 00:24:17,480 --> 00:24:19,410 Jadi, mari kita meletakkan butang di sini. 452 00:24:19,410 --> 00:24:39,020 Dan kita akan panggil butang ini "paip di sini untuk meneruskan. "Kami akan pusat itu, juga 453 00:24:39,020 --> 00:24:39,990 Sebenarnya, ia sudah berpusat. 454 00:24:39,990 --> 00:24:40,630 Yeah. 455 00:24:40,630 --> 00:24:43,130 >> Jadi, kita mempunyai butang. 456 00:24:43,130 --> 00:24:53,000 Dan jika kita menjalankan ini sekali lagi, kita akan mempunyai butang nice sedikit di sini. 457 00:24:53,000 --> 00:24:56,520 Dan saya boleh klik, tetapi ia tidak berbuat apa-apa, kerana kita tidak melakukan 458 00:24:56,520 --> 00:24:58,500 apa-apa dengan butang yet. 459 00:24:58,500 --> 00:25:01,740 >> Jadi, mari kita mewujudkan satu lagi pandangan, bukan? 460 00:25:01,740 --> 00:25:04,160 Jadi, mari kita mengatakan saya mahu meneroka bahawa butang dan saya mahu 461 00:25:04,160 --> 00:25:05,730 pergi ke halaman lain - 462 00:25:05,730 --> 00:25:06,820 satu lagi pandangan. 463 00:25:06,820 --> 00:25:14,440 Apa yang saya akan lakukan ialah, saya boleh membuat pengawal pandangan, bukan? 464 00:25:14,440 --> 00:25:19,690 Sekarang saya akan klik pada butang saya, dan kemudian, apa yang penting adalah, saya akan 465 00:25:19,690 --> 00:25:20,910 klik - atau - 466 00:25:20,910 --> 00:25:23,660 ya, kawalan tekan pada keyboard saya. 467 00:25:23,660 --> 00:25:24,880 Kawalan. 468 00:25:24,880 --> 00:25:27,005 Klik pada butang, dan kemudian seret. 469 00:25:27,005 --> 00:25:29,960 470 00:25:29,960 --> 00:25:33,550 >> Jadi, jangan lupa untuk tahan kekunci kawalan. 471 00:25:33,550 --> 00:25:35,160 Mari kita buat itu lagi. 472 00:25:35,160 --> 00:25:40,930 Jadi, memegang kawalan, klik, dan seret dengan apa yang anda mahu lakukan. 473 00:25:40,930 --> 00:25:41,520 OK. 474 00:25:41,520 --> 00:25:43,610 >> Dan sekarang, saya mempunyai beberapa pilihan di sini. 475 00:25:43,610 --> 00:25:47,900 Saya boleh menolak, atau yang boleh saya lakukan yang mod, atau boleh saya lakukan adat. 476 00:25:47,900 --> 00:25:50,900 Push hanya jika anda mempunyai pengawal navigasi. 477 00:25:50,900 --> 00:25:54,270 Sekarang, pandangan pertama kami pengawal tidak berada di dalam mana-mana 478 00:25:54,270 --> 00:25:55,610 pengawal navigasi. 479 00:25:55,610 --> 00:25:59,500 Jadi, pengawal pengemudian adalah yang yang memberikan butang kembali pada anda 480 00:25:59,500 --> 00:26:03,910 app IOS di mana anda mempunyai, anda tahu, yang atas, jenis, bar tebal - 481 00:26:03,910 --> 00:26:06,480 di mana anda boleh kembali, atau ke hadapan, dan sebagainya. 482 00:26:06,480 --> 00:26:07,740 Sekarang, saya tidak mempunyai. 483 00:26:07,740 --> 00:26:11,050 Dan sebagainya, sebab itu saya tidak boleh melakukan tolakan. 484 00:26:11,050 --> 00:26:12,480 >> Jadi, saya klik pada menolak tidak sengaja, di sini. 485 00:26:12,480 --> 00:26:16,480 Dan sebenarnya, mari kita berjalan kod, dan ia harus kemalangan pada saya. 486 00:26:16,480 --> 00:26:19,770 487 00:26:19,770 --> 00:26:22,960 Hanya jika saya tekan butang walaupun, jadi - 488 00:26:22,960 --> 00:26:23,420 betul. 489 00:26:23,420 --> 00:26:26,480 Jadi, ini adalah tidak baik. 490 00:26:26,480 --> 00:26:31,330 >> Dan, seperti yang anda lihat, di sini, kami mempunyai mesej ralat. 491 00:26:31,330 --> 00:26:35,460 Jadi, "segues Push hanya boleh digunakan apabila sumber pengawal diuruskan oleh 492 00:26:35,460 --> 00:26:40,700 contoh UI navigasi pengawal. " Jadi, kerana ini bukan bahagian dalam 493 00:26:40,700 --> 00:26:44,030 navigasi pengawal, Saya tidak boleh berbuat demikian. 494 00:26:44,030 --> 00:26:48,782 >> Jadi, sekarang, saya akan kembali ke folder, akan kembali kepada papan cerita. 495 00:26:48,782 --> 00:26:51,680 >> PENONTON: Apakah navigasi pengawal, sekali lagi? 496 00:26:51,680 --> 00:26:55,260 >> RHED SHI: Jadi, sekarang saya akan menunjukkan kepada anda. 497 00:26:55,260 --> 00:26:56,200 Mari kita lihat. 498 00:26:56,200 --> 00:27:00,510 Oleh itu, saya akan klik pada pandangan ini pengawal, dan kemudian saya akan pergi 499 00:27:00,510 --> 00:27:03,920 sehingga produk - 500 00:27:03,920 --> 00:27:06,240 sebenarnya, tidak, maaf - editor. 501 00:27:06,240 --> 00:27:08,360 Dan saya akan pergi ke dalam - 502 00:27:08,360 --> 00:27:09,350 sebenarnya, adakah saya klik di situ? 503 00:27:09,350 --> 00:27:10,070 No 504 00:27:10,070 --> 00:27:11,080 Di sana kami pergi. 505 00:27:11,080 --> 00:27:16,270 Saya akan naik ke editor, turun untuk menanamkan dalam, dan kemudian navigasi 506 00:27:16,270 --> 00:27:17,520 pengawal. 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 Dan, ruang kerja saya kelihatan benar-benar tidak kemas, jadi mari kita membersihkan ini up. 510 00:27:27,750 --> 00:27:29,000 Jadi, semua ini adalah papan cerita. 511 00:27:29,000 --> 00:27:32,510 512 00:27:32,510 --> 00:27:33,760 Dan dengan cara ini - 513 00:27:33,760 --> 00:27:37,030 514 00:27:37,030 --> 00:27:38,280 OK, berhenti - 515 00:27:38,280 --> 00:27:49,320 516 00:27:49,320 --> 00:27:50,860 Saya cepat boleh membina sesuatu seperti ini. 517 00:27:50,860 --> 00:27:53,020 Dan kemudian, sekarang saya boleh kembali, anda tahu? 518 00:27:53,020 --> 00:27:55,730 >> Tetapi ini adalah jenis membosankan, bukan? 519 00:27:55,730 --> 00:28:03,020 Jadi, apa yang saya mahu lakukan adalah, saya tidak mahu untuk membuat, hanya semata-mata, pandangan yang 520 00:28:03,020 --> 00:28:03,870 pengawal. 521 00:28:03,870 --> 00:28:07,720 Katakan saya mahu untuk benar-benar membuat paparan jadual pengawal, jadi saya boleh dimasukkan ke dalam 522 00:28:07,720 --> 00:28:12,110 beberapa warna bagus, ke dalam jadual. 523 00:28:12,110 --> 00:28:16,210 >> Jadi, sekarang saya telah dimasukkan ke dalam paparan jadual saya pengawal, saya perlu menyambung semula 524 00:28:16,210 --> 00:28:18,560 dari butang ini kepada pandangan pengawal. 525 00:28:18,560 --> 00:28:21,780 Jadi saya perlu melakukan kawalan saya, klik, seret perkara lagi. 526 00:28:21,780 --> 00:28:27,318 Dan sekarang saya boleh melakukan push, kerana saya menerapkan ia di dalam pengawal navigasi. 527 00:28:27,318 --> 00:28:32,210 >> PENONTON: Navigation pengawal hanya membolehkan anda untuk pergi dari satu tempat ke tempat? 528 00:28:32,210 --> 00:28:33,540 >> RHED SHI: Ya. 529 00:28:33,540 --> 00:28:38,670 Jadi, lebih dari segi teknikal, ia objek di mana - 530 00:28:38,670 --> 00:28:43,150 jadi, di dalam navigasi objek pengawal, ia 531 00:28:43,150 --> 00:28:44,780 menjejaki array. 532 00:28:44,780 --> 00:28:48,300 Dan array yang memegang segala yang berikutnya melihat pengawal. 533 00:28:48,300 --> 00:28:51,560 Itulah sebabnya apabila anda menekan kembali, ia kembali ke laman sebelumnya. 534 00:28:51,560 --> 00:28:55,260 Kerana pengawal pengemudian objek, atau kod yang menjaga 535 00:28:55,260 --> 00:28:58,890 objek ini, mempunyai pelbagai yang menyimpan menjejaki ini pengawal pandangan, dan 536 00:28:58,890 --> 00:29:01,870 boleh kemudian, anda tahu, DQ pandangan pengawal dan memberi anda belakang 537 00:29:01,870 --> 00:29:02,750 satu sebelumnya. 538 00:29:02,750 --> 00:29:05,200 >> Jadi, ini adalah barangan teknikal, tetapi - 539 00:29:05,200 --> 00:29:07,505 dan saya akan menunjukkan anda di kemudian kod, jika kita mempunyai masa. 540 00:29:07,505 --> 00:29:10,270 Saya jenis kehabisan pada masa, tetapi - 541 00:29:10,270 --> 00:29:15,610 >> Jadi, dengan paparan jadual, apa yang kita boleh lakukan ialah - 542 00:29:15,610 --> 00:29:18,440 Ia biasanya secara automatik untuk Dynamic Prototaip - 543 00:29:18,440 --> 00:29:20,640 kita akan membuat ia Sel statik, jika tidak kita akan 544 00:29:20,640 --> 00:29:22,920 menghadapi beberapa masalah. 545 00:29:22,920 --> 00:29:28,470 >> Dan kemudian, katakan saya akan mempunyai satu bahagian. 546 00:29:28,470 --> 00:29:31,000 Jadi, seksyen adalah seperti - 547 00:29:31,000 --> 00:29:35,160 jika anda pernah melihat aplikasi muzik, apabila anda mempunyai artis, bahagian akan 548 00:29:35,160 --> 00:29:37,830 menjadi A melalui Z's - 549 00:29:37,830 --> 00:29:38,780 huruf - 550 00:29:38,780 --> 00:29:42,600 dan kemudian, anda tahu, individu baris akan menjadi nama-nama artis. 551 00:29:42,600 --> 00:29:47,460 Dan sebagainya, apa yang sejuk di sini, adalah bahawa saya boleh mengakses semua objek di dalam 552 00:29:47,460 --> 00:29:50,430 papan cerita saya melalui ini drop-down menu juga. 553 00:29:50,430 --> 00:29:56,600 >> Oleh itu, saya akan klik pada bahagian saya, dan saya mahu, anda tahu, mungkin lima baris. 554 00:29:56,600 --> 00:30:00,770 Dan kemudian, di dalam setiap baris, Saya mahu meletakkan label. 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 Dan saya akan memanggil Blue ini. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 Dan kemudian, saya mahu meletakkan pandangan UI, anda tahu, mungkin untuk, seperti, kotak sedikit. 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> Supaya saya dapat menunjukkan kepada orang preview warna. 561 00:30:28,710 --> 00:30:34,150 Dan saya akan kembali kepada harta dan menukar warna itu, oh, saya tidak 562 00:30:34,150 --> 00:30:35,510 tahu, satu ini. 563 00:30:35,510 --> 00:30:38,630 564 00:30:38,630 --> 00:30:43,150 >> Dan kemudian, notis juga, di sini, apabila saya mempunyai aksesori, saya boleh mempunyai banyak 565 00:30:43,150 --> 00:30:46,160 satu aksesori yang berbeza yang anda biasanya lihat. 566 00:30:46,160 --> 00:30:55,250 Penunjuk pendedahan, terperinci, atau memeriksa tanda, atau hanya sekadar terperinci. 567 00:30:55,250 --> 00:30:59,080 Jadi, mungkin kita boleh lakukan, seperti, pendedahan yang petunjuk, sebagai contoh. 568 00:30:59,080 --> 00:31:03,540 >> Dan kemudian, mengapa kita tidak mengambil ini, salinan tampal mereka, dan meletakkan mereka ke dalam 569 00:31:03,540 --> 00:31:06,740 baris jadual seterusnya. 570 00:31:06,740 --> 00:31:08,115 Jadi, kita boleh memanggil Kuning ini. 571 00:31:08,115 --> 00:31:10,620 572 00:31:10,620 --> 00:31:12,155 Dan saya mungkin perlu memperluaskan. 573 00:31:12,155 --> 00:31:15,730 574 00:31:15,730 --> 00:31:17,290 Mari kita membuat ia kuning. 575 00:31:17,290 --> 00:31:20,610 Dan dengan cara ini, kita boleh menyalin paste cara kita ke bawah. 576 00:31:20,610 --> 00:31:24,910 577 00:31:24,910 --> 00:31:25,370 Apakah maklumat itu? 578 00:31:25,370 --> 00:31:26,620 Ungu. 579 00:31:26,620 --> 00:31:30,020 580 00:31:30,020 --> 00:31:34,740 >> Jadi, semua ini adalah CS50 biasa warna yang anda lihat dalam kelas - 581 00:31:34,740 --> 00:31:37,160 sebenarnya, maaf - 582 00:31:37,160 --> 00:31:38,410 atau di laman web. 583 00:31:38,410 --> 00:31:49,700 584 00:31:49,700 --> 00:31:51,260 Semoga anda semua dapat melihat apa yang saya lakukan di sini. 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 Terkini. 588 00:31:58,490 --> 00:32:02,040 >> PENONTON: Bagaimana anda menambah berturut-turut pada mulanya? 589 00:32:02,040 --> 00:32:04,740 >> RHED SHI: Jadi, soalan itu, bagaimana adakah saya menambah baris mulanya? 590 00:32:04,740 --> 00:32:07,500 Saya pergi ke dalam seksyen jadual ini - atau bagaimanapun saya boleh 591 00:32:07,500 --> 00:32:09,200 pilih seksyen meja - 592 00:32:09,200 --> 00:32:11,250 dan kemudian, di sini, saya dikemaskini bilangan baris. 593 00:32:11,250 --> 00:32:19,920 594 00:32:19,920 --> 00:32:22,505 >> Dan, saya berharap ini berfungsi. 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 Mari kita lihat jika ini berfungsi. 598 00:32:32,870 --> 00:32:34,000 Oh, sempurna, hebat. 599 00:32:34,000 --> 00:32:35,300 OK. 600 00:32:35,300 --> 00:32:40,330 Walaupun saya telah membina demo saya, sesetengah perkara yang tidak sejajar, jadi, terima kasih kerana 601 00:32:40,330 --> 00:32:42,510 tepukan. 602 00:32:42,510 --> 00:32:42,920 >> Yeah. 603 00:32:42,920 --> 00:32:44,770 Jadi, mari kita lihat. 604 00:32:44,770 --> 00:32:47,550 Kami akan membuat ini sembilan hanya untuk membuat segala-galanya - atau sebenarnya, mari kita hanya 605 00:32:47,550 --> 00:32:51,420 menjadikan semua ini ke dalam pendedahan penunjuk. 606 00:32:51,420 --> 00:32:55,790 Dan kemudian, apa yang saya ingin menunjukkan kepada anda, juga, adalah bagaimana saya boleh mengambil setiap orang 607 00:32:55,790 --> 00:32:59,230 baris meja dan mempunyai mereka berinteraksi - 608 00:32:59,230 --> 00:33:00,150 oh. 609 00:33:00,150 --> 00:33:01,400 No 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 Juga, saya ingin menunjukkan kepada anda - 613 00:33:07,230 --> 00:33:13,080 di sini, saya boleh meletakkan tajuk saya navigasi pengawal, bukan? 614 00:33:13,080 --> 00:33:17,090 Jadi sebenarnya, anda akan notis, sebaik sahaja saya tertanam pengawal pandangan ini di dalam 615 00:33:17,090 --> 00:33:22,010 pengawal navigasi, kita lihat ini bar navigasi di bahagian atas kami 616 00:33:22,010 --> 00:33:25,340 perwakilan papan cerita daripada pengawal pandangan. 617 00:33:25,340 --> 00:33:29,270 Dan sebagainya, ini memberikan kita, seperti, visual, jenis, panduan kepada skrin kelihatan kami. 618 00:33:29,270 --> 00:33:34,360 Ini jelas akan menjadi bar navigasi. 619 00:33:34,360 --> 00:33:40,950 >> Dan apa yang saya mahu lakukan dengan cepat, sekarang, dimasukkan ke dalam satu lagi - 620 00:33:40,950 --> 00:33:45,880 jadi ini pengawal paparan jadual saya lakukan dengan mengambil satu daripada ini dan mengheret 621 00:33:45,880 --> 00:33:49,800 di sini, dan itulah apa yang membolehkan saya untuk dengan cepat, benar-benar, membuat paparan jadual 622 00:33:49,800 --> 00:33:50,850 pengawal. 623 00:33:50,850 --> 00:33:54,100 Jika kita mempunyai masa walaupun, anda akan melihat bahawa, program menetapkan, ia adalah satu 624 00:33:54,100 --> 00:33:57,660 sedikit lebih sukar untuk buat jadual yang pengawal pandangan, kerana ada 625 00:33:57,660 --> 00:34:02,520 adalah beberapa kaedah yang diperlukan untuk anda, jenis, menulis 626 00:34:02,520 --> 00:34:07,130 dalam perintah untuk paparan jadual pengawal yang akan dipaparkan dengan betul. 627 00:34:07,130 --> 00:34:15,340 >> Walau bagaimanapun, saya hanya mahu menunjukkan kepada anda, sekarang, satu contoh di mana, jika saya mengambil ini, 628 00:34:15,340 --> 00:34:15,920 sebagai contoh - 629 00:34:15,920 --> 00:34:18,290 Saya dimasukkan ke dalam satu lagi pengawal pandangan. 630 00:34:18,290 --> 00:34:27,320 Dan sekarang, mari kita mengatakan saya mahu mengawal alt biru saya yang pertama 631 00:34:27,320 --> 00:34:28,980 baris jadual ke sini. 632 00:34:28,980 --> 00:34:31,070 Dan saya mahu panggil Blue ini. 633 00:34:31,070 --> 00:34:32,570 Dan kemudian - 634 00:34:32,570 --> 00:34:34,159 mari kita lihat. 635 00:34:34,159 --> 00:34:41,050 Saya pada pandangan sekarang, dan saya boleh menukar latar belakang kepada biru. 636 00:34:41,050 --> 00:34:45,945 >> Dan sebagainya, notis, di sini, ini drop-down menu juga memberikan anda hierarki semua 637 00:34:45,945 --> 00:34:47,040 objek-objek ini. 638 00:34:47,040 --> 00:34:50,530 Jadi satu perkara yang penting untuk diperhatikan, di sini, adalah bahawa semua perkara-perkara ini, di sini - 639 00:34:50,530 --> 00:34:54,330 ini pengawal paparan jadual, jadual pandangan, seksyen paparan jadual, paparan jadual 640 00:34:54,330 --> 00:34:57,169 sel - semua ini adalah objek, dalam kod. 641 00:34:57,169 --> 00:35:03,752 Jadi, anda tahu, label yang sekarang adalah di bawah pandangan kandungan, dan sebagainya. 642 00:35:03,752 --> 00:35:05,020 Sebagainya dan sebagainya. 643 00:35:05,020 --> 00:35:08,765 >> Jadi, jika kita menjalankan kod ini, kita harus melihat sesuatu - 644 00:35:08,765 --> 00:35:15,816 645 00:35:15,816 --> 00:35:17,870 mari kita lihat jika ini - yeah. 646 00:35:17,870 --> 00:35:18,670 Jadi, kita pergi. 647 00:35:18,670 --> 00:35:22,120 Tetapi, jika kita tidak melakukannya, tiada perkara-perkara ini lain bekerja. 648 00:35:22,120 --> 00:35:22,500 Betul? 649 00:35:22,500 --> 00:35:23,800 Jadi hanya satu ini berfungsi. 650 00:35:23,800 --> 00:35:29,100 Dan, demi masa, saya tidak akan pergi ke dalam, anda tahu, meletakkan 651 00:35:29,100 --> 00:35:29,770 turun-orang yang lain. 652 00:35:29,770 --> 00:35:32,020 Dan ini adalah akhir, jenis, papan cerita - 653 00:35:32,020 --> 00:35:33,400 apa yang saya mahu menunjukkan anda untuk papan cerita. 654 00:35:33,400 --> 00:35:36,330 655 00:35:36,330 --> 00:35:43,490 >> Dan, saya mempunyai contoh yang bekerja di luar, sebenarnya, di sini. 656 00:35:43,490 --> 00:35:48,090 Jadi, ini adalah papan cerita yang saya lakukan sebelum ini. 657 00:35:48,090 --> 00:35:52,740 Jadi, seperti yang anda lihat, ini adalah pengawal pengemudian saya. 658 00:35:52,740 --> 00:35:57,040 Kemudian saya pengawal pandangan pertama saya, maka saya mempunyai pengawal paparan jadual saya, 659 00:35:57,040 --> 00:35:58,980 dan kemudian saya mempunyai semua ini - 660 00:35:58,980 --> 00:36:01,180 jadi sebelum ini, saya telah melakukan sesuatu yang sangat berbeza. 661 00:36:01,180 --> 00:36:04,450 Jadi, maafkan perkara-perkara. 662 00:36:04,450 --> 00:36:07,930 Saya mungkin akan membersihkannya sehingga kemudian sebelum Saya menghantar ia di luar untuk pengeluaran. 663 00:36:07,930 --> 00:36:12,800 >> Tetapi, jika kita menjalankan ini, kita akan melihat bahawa semua pilihan yang 664 00:36:12,800 --> 00:36:14,050 ada pada kita. 665 00:36:14,050 --> 00:36:18,540 666 00:36:18,540 --> 00:36:21,320 Kecuali saya tidak membuat latar belakang orang-orang warna. 667 00:36:21,320 --> 00:36:26,510 Jadi, permohonan yang mudah yang bagus. 668 00:36:26,510 --> 00:36:28,340 >> Sekarang, mari kita cuba untuk menangani ini program menetapkan. 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 Jadi, untuk melakukan itu, kita hanya akan untuk memulakan projek Xcode baru. 672 00:36:37,570 --> 00:36:41,920 Kami akan menjadikannya suatu permohonan kosong sekarang, kerana kita tidak mahu mempunyai 673 00:36:41,920 --> 00:36:42,380 papan cerita. 674 00:36:42,380 --> 00:36:46,590 Oleh itu, saya hanya menghadkan diri saya untuk tidak menggunakan mana-mana papan cerita, dan 675 00:36:46,590 --> 00:36:49,170 permohonan kosong tidak akan memberi saya papan cerita. 676 00:36:49,170 --> 00:36:52,256 Ini adalah hanya untuk mengelakkan diri daripada menipu. 677 00:36:52,256 --> 00:36:54,428 Mari kita lihat. 678 00:36:54,428 --> 00:36:55,360 Tunggu. 679 00:36:55,360 --> 00:36:55,960 Adakah saya - 680 00:36:55,960 --> 00:36:56,448 ya. 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 >> Betul. 684 00:37:09,180 --> 00:37:16,790 Jadi, di sini, kita ditinggalkan dengan apa-apa lagi tetapi kod. 685 00:37:16,790 --> 00:37:19,460 Jadi, biarlah saya menggerakkan tetingkap ini sedikit lebih. 686 00:37:19,460 --> 00:37:22,020 687 00:37:22,020 --> 00:37:22,260 Betul. 688 00:37:22,260 --> 00:37:28,160 Seperti yang anda boleh lihat di sini, satu-satunya fail kami diberikan adalah AppDelegate.h dan dot 689 00:37:28,160 --> 00:37:30,500 m, dan kita tidak mempunyai papan cerita lagi. 690 00:37:30,500 --> 00:37:39,580 >> Jadi, jika kita menjalankan ini, kami masih akan mendapatkan ke skrin putih, berterima kasih kepada Tuhan. 691 00:37:39,580 --> 00:37:42,280 OK - skrin putih, tetapi apa-apa lagi. 692 00:37:42,280 --> 00:37:45,260 Dan di sini adalah bahagian yang penting. 693 00:37:45,260 --> 00:37:47,810 Ini adalah di mana tindakan yang berlaku. 694 00:37:47,810 --> 00:37:51,410 Dalam versi sebelum ini, ada biasanya tiada kod di sini, tetapi 695 00:37:51,410 --> 00:37:55,600 papan cerita dasarnya menyediakan kod untuk bahagian ini. 696 00:37:55,600 --> 00:37:57,470 Saya tidak akan pergi ke butiran mengenai bagaimana. 697 00:37:57,470 --> 00:38:02,890 >> Dan apa yang kita mahu lakukan sekarang ialah, kita mahu untuk pergi di sini, dan ruang kecil ini 698 00:38:02,890 --> 00:38:05,050 bermula mewujudkan app kami lagi. 699 00:38:05,050 --> 00:38:06,092 Jadi - 700 00:38:06,092 --> 00:38:06,318 ya? 701 00:38:06,318 --> 00:38:07,450 >> PENONTON: Zoom? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: Zoom. 703 00:38:07,770 --> 00:38:09,020 Ya, pasti. 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 Saya akan menaip, jadi ini tidak sepatutnya terlalu banyak perkara. 707 00:38:17,380 --> 00:38:17,940 OK. 708 00:38:17,940 --> 00:38:22,720 >> Jadi, pertama, ingat kita mahu mencipta pengawal navigasi, bukan? 709 00:38:22,720 --> 00:38:27,090 Dan juga, seperti yang anda lihat di sini, Xcode melakukan pekerjaan yang benar-benar besar 710 00:38:27,090 --> 00:38:28,070 pengisian diri. 711 00:38:28,070 --> 00:38:31,650 Jadi, seperti yang anda akan notis, nama-nama segala-galanya adalah banyak lagi daripada 712 00:38:31,650 --> 00:38:33,910 biasa, tetapi Xcode mengisi ia untuk anda. 713 00:38:33,910 --> 00:38:35,710 Jadi saya hanya boleh tekan Enter. 714 00:38:35,710 --> 00:38:40,180 >> Jadi, saya ingin membuat navigasi UI penunjuk pengawal, dan saya boleh memanggilnya 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 Kini, apa yang saya buat sekarang? 718 00:38:44,470 --> 00:38:49,510 Selepas tanda sama ini, saya perlu, pertama, menciptakannya di dalam ingatan. 719 00:38:49,510 --> 00:38:53,790 Oleh itu, saya akan melakukan NavigationController alloc - 720 00:38:53,790 --> 00:38:56,640 jadi, ini adalah sama dengan malloc, bahawa kalian digunakan dalam C - 721 00:38:56,640 --> 00:38:58,400 dan kemudian, saya akan INIT ia. 722 00:38:58,400 --> 00:39:03,670 >> Jadi, ia benar-benar penting bahawa mana-mana objek yang anda buat, anda mahu 723 00:39:03,670 --> 00:39:04,940 alloc dan INIT ia. 724 00:39:04,940 --> 00:39:08,600 Itu akan mencipta dan instantialize ia di dalam ingatan, dan 725 00:39:08,600 --> 00:39:10,480 sekarang anda boleh menggunakannya. 726 00:39:10,480 --> 00:39:10,780 Boleh? 727 00:39:10,780 --> 00:39:14,360 Jika anda tidak berbuat demikian, objek anda tidak tidak wujud, dan anda akan menghadapi sekumpulan 728 00:39:14,360 --> 00:39:17,290 masalah. 729 00:39:17,290 --> 00:39:20,250 >> Dan kemudian, saya mahu mencipta pengawal pandangan, bukan? 730 00:39:20,250 --> 00:39:25,580 Jadi, saya mahu mencipta satu UIViewController star - 731 00:39:25,580 --> 00:39:29,620 jadi, segala-galanya adalah penunjuk di Objektif-C, dan saya akan melakukan 732 00:39:29,620 --> 00:39:31,600 sesuatu yang serupa, di sini - 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 >> Dan kemudian apa yang saya akan lakukan ialah, saya akan - jadi, ingat apabila kita lakukan 737 00:39:43,450 --> 00:39:45,360 embed dalam pelayaran pengawal? 738 00:39:45,360 --> 00:39:46,920 Ini adalah bagaimana anda melakukannya dalam kod. 739 00:39:46,920 --> 00:39:54,550 Anda akan melakukan navigationController 740 00:39:54,550 --> 00:39:55,780 pushViewController - 741 00:39:55,780 --> 00:39:57,636 >> PENONTON: [didengar]. 742 00:39:57,636 --> 00:39:59,030 Ini akan berlaku bagi kita, atau -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: Oh, yeah. 744 00:40:00,080 --> 00:40:00,550 No 745 00:40:00,550 --> 00:40:02,740 Ia suka saya lebih baik. 746 00:40:02,740 --> 00:40:04,670 Tidak, ia akan bekerja untuk anda juga. 747 00:40:04,670 --> 00:40:06,700 Jadi, semua ini adalah kaedah. 748 00:40:06,700 --> 00:40:10,400 Jadi pushViewController adalah kaedah, dan juga, lebih khusus, ia merupakan 749 00:40:10,400 --> 00:40:13,590 kaedah unsur UI pengawal navigasi. 750 00:40:13,590 --> 00:40:20,030 Oleh kerana saya terpaksa membuat navigasi UI saya bintang pengawal, dan kemudian saya 751 00:40:20,030 --> 00:40:24,510 boleh menghubungi pushViewController ini pada saya contoh tertentu navigasi UI 752 00:40:24,510 --> 00:40:25,010 pengawal. 753 00:40:25,010 --> 00:40:29,490 >> PENONTON: Adakah kita perlu melakukan perkara yang tepat perkataan, atau adakah ia telah sedia wujud untuk itu? 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: Ya, kerana ia satu kaedah yang. 755 00:40:31,380 --> 00:40:32,200 Ia seperti satu majlis. 756 00:40:32,200 --> 00:40:33,330 Ia seperti printf. 757 00:40:33,330 --> 00:40:34,390 Ia seperti scanf. 758 00:40:34,390 --> 00:40:36,250 Ia seperti strcompare. 759 00:40:36,250 --> 00:40:40,310 Kecuali ia tahu apa yang anda mungkin mahu menaip, dan melihat bahawa ia yang akan terus 760 00:40:40,310 --> 00:40:42,740 datang dengan perkara-perkara yang dibenarkan secara sah untuk anda. 761 00:40:42,740 --> 00:40:47,620 Jadi, jika apa-apa menunjukkan di sini, maka sesuatu yang salah. 762 00:40:47,620 --> 00:40:50,550 >> Jadi, pushViewController. 763 00:40:50,550 --> 00:40:52,580 Jadi, sekarang, saya mahu untuk menolak saya baru diwujudkan 764 00:40:52,580 --> 00:40:56,850 UIViewController, dan kemudian, animasi - 765 00:40:56,850 --> 00:40:57,470 mungkin tidak. 766 00:40:57,470 --> 00:41:00,110 Kerana ini akan menjadi pengawal pandangan pertama. 767 00:41:00,110 --> 00:41:03,210 Maksud saya, walaupun saya membuat animasi, ia mungkin tidak akan muncul, kerana 768 00:41:03,210 --> 00:41:05,050 ia skrin pertama. 769 00:41:05,050 --> 00:41:06,540 >> Dan ingat kurungan. 770 00:41:06,540 --> 00:41:08,850 Jadi, ingat bagaimana kami menggunakan kurungan? 771 00:41:08,850 --> 00:41:11,870 Dan di dalam kurungan, yang objek menyeru kaedah yang - 772 00:41:11,870 --> 00:41:15,910 jadi objek kami adalah navigasi pengawal, dan kaedah ini menolak 773 00:41:15,910 --> 00:41:17,210 pandangan pengawal animasi. 774 00:41:17,210 --> 00:41:21,920 Dan lihat bagaimana ia mengambil masa dalam dua hujah, dan mereka dipisahkan oleh, jenis, 775 00:41:21,920 --> 00:41:24,390 perkataan, dan tanda bertindih. 776 00:41:24,390 --> 00:41:28,300 Jadi, Objektif-C cuba untuk membuat ia bagus dan mudah untuk anda membaca dengan kuat - 777 00:41:28,300 --> 00:41:33,020 kod anda - dan mempunyai ia separuh, semacam, masuk akal. 778 00:41:33,020 --> 00:41:37,150 >> Walau bagaimanapun, hanya melakukan ini tidak mencukupi. 779 00:41:37,150 --> 00:41:39,780 Biar saya zum keluar sekarang. 780 00:41:39,780 --> 00:41:44,210 Hanya melakukan ini adalah tidak cukup untuk mendapatkan apa yang kita dapat sebelum ini. 781 00:41:44,210 --> 00:41:48,580 Jadi di sini, anda akan melihat bahawa terdapat sebenarnya tidak akan menjadi apa-apa jenis 782 00:41:48,580 --> 00:41:50,190 menggalang, di sini, bukan? 783 00:41:50,190 --> 00:41:54,680 Tidak ada bar navigasi, yang cara bahawa kita masih tidak mendapat ia. 784 00:41:54,680 --> 00:41:58,850 >> Dan kita boleh menguji bahawa daripada, juga, oleh, mungkin, menukar latar belakang 785 00:41:58,850 --> 00:42:00,460 ViewController, bukan? 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 Jadi, melihat bagaimana ViewController tidak mempunyai warna latar belakang, walaupun saya 790 00:42:07,690 --> 00:42:08,780 mahu mengaksesnya? 791 00:42:08,780 --> 00:42:14,080 Dan itu kerana ViewController adalah bekas untuk paparan. 792 00:42:14,080 --> 00:42:19,490 Jadi, ia mempunyai harta pandangan, yang kemudian mempunyai warna latar belakang. 793 00:42:19,490 --> 00:42:25,510 >> Dan, saya boleh menetapkan ia, jenis tediously, dengan memanggil warna 794 00:42:25,510 --> 00:42:28,130 pada objek UIColor itu. 795 00:42:28,130 --> 00:42:33,210 Jadi, notis sini, redColor adalah kaedah. 796 00:42:33,210 --> 00:42:36,750 Ia adalah satu kaedah kelas UIcolor. 797 00:42:36,750 --> 00:42:40,820 Kerana saya tidak perlu mewujudkan contoh sebenar yang UIColor untuk 798 00:42:40,820 --> 00:42:42,020 untuk memanggil kaedah di atasnya. 799 00:42:42,020 --> 00:42:45,050 Saya hanya, hanya, memanggilnya pada nama jenis seperti itu. 800 00:42:45,050 --> 00:42:49,620 Saya, seperti, yang dipanggil pada int, jika int telah, seperti, kaedah untuk ia, sebagai contoh. 801 00:42:49,620 --> 00:42:52,380 >> Justeru, jika kita menjalankan kod ini, kita akan melihat bahawa latar belakang adalah 802 00:42:52,380 --> 00:42:53,540 sebenarnya tidak merah. 803 00:42:53,540 --> 00:42:54,790 Ia masih putih. 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 Dan bagaimana kita boleh mendapatkan sekitar iaitu, notis bagaimana ada self.window itu. 806 00:43:04,550 --> 00:43:08,260 Iaitu, seperti, bekas muktamad untuk permohonan anda. 807 00:43:08,260 --> 00:43:11,630 Ia adalah perkara utama yang mengandungi segala-galanya pada skrin, untuk 808 00:43:11,630 --> 00:43:13,650 iPhone atau aplikasi iPad. 809 00:43:13,650 --> 00:43:20,970 >> Dan, mudah, self.window mempunyai harta ini dipanggil 810 00:43:20,970 --> 00:43:22,650 rootViewController. 811 00:43:22,650 --> 00:43:26,480 Dan itu akan menjadi penunjuk kepada pengawal pandangan yang pertama di dalam 812 00:43:26,480 --> 00:43:27,270 aplikasi anda. 813 00:43:27,270 --> 00:43:32,000 Jadi, apa yang kita mahu lakukan di sini, sekarang, adalah untuk menetapkan yang sama dengan navigasi kami 814 00:43:32,000 --> 00:43:32,710 pengawal. 815 00:43:32,710 --> 00:43:33,760 Betul? 816 00:43:33,760 --> 00:43:37,490 Kerana, dari segi teknikal, navigasi pengawal adalah pandangan yang pertama kita 817 00:43:37,490 --> 00:43:38,770 pengawal. 818 00:43:38,770 --> 00:43:46,160 Ia menjejaki pelbagai pandangan lain pengawal, dan kita menolak ini 819 00:43:46,160 --> 00:43:49,810 pandangan pengawal ke dalam array yang dalam pengawal navigasi. 820 00:43:49,810 --> 00:43:52,640 >> Jadi, anda tidak mahu untuk melakukan ini. 821 00:43:52,640 --> 00:43:54,225 Yang tidak akan benar-benar membantu anda. 822 00:43:54,225 --> 00:43:58,040 Anda mahu melakukan ini, jika anda mahu melakukan pengawal navigasi, yang paling 823 00:43:58,040 --> 00:44:01,100 anda mungkin akan kerana anda akan mahu kepada, jenis, mempunyai beberapa jenis, 824 00:44:01,100 --> 00:44:04,840 seperti, menu untuk kembali ke atau beberapa laman utama untuk kembali ke, dan bukannya 825 00:44:04,840 --> 00:44:05,470 skrin kosong. 826 00:44:05,470 --> 00:44:05,920 Ya? 827 00:44:05,920 --> 00:44:11,460 >> PENONTON: Adakah ia tidak selesa untuk anda untuk mengezum masuk pada - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: Yeah. 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 Jadi, yeah. 831 00:44:15,720 --> 00:44:22,370 Ini adalah kod, dan kini mari kita menguji ia keluar. 832 00:44:22,370 --> 00:44:27,920 >> Jadi, kita pergi. 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 Jadi, OK. 836 00:44:32,690 --> 00:44:34,420 Terima kasih. 837 00:44:34,420 --> 00:44:35,000 OK. 838 00:44:35,000 --> 00:44:38,690 Jadi sekarang, apa yang kita mahu lakukan ialah - jadi, kita jenis terhad, di sini, bukan? 839 00:44:38,690 --> 00:44:45,130 Kita boleh berpotensi menulis semua dalam fungsi ini satu. 840 00:44:45,130 --> 00:44:48,470 Tetapi, itu bukan bagaimana pembangunan IOS biasanya kerja-kerja. 841 00:44:48,470 --> 00:44:53,030 >> Jadi, apa yang kita akan lakukan ialah, kami akan mewujudkan beberapa fail baru. 842 00:44:53,030 --> 00:44:57,110 Tetapi, lebih khusus, kita akan mewujudkan satu lagi kelas Objektif-C, atau 843 00:44:57,110 --> 00:44:58,010 satu lagi objek - 844 00:44:58,010 --> 00:45:00,700 kelas dan objek boleh ditukar di sini. 845 00:45:00,700 --> 00:45:06,460 Dan, di sini bagaimana saya boleh, berpotensi, mewujudkan satu lagi kelas pengawal U. 846 00:45:06,460 --> 00:45:12,030 >> Jadi, ia adalah kelas sub, seperti yang anda akan notis, di sini, ia adalah satu kelas sub daripada 847 00:45:12,030 --> 00:45:15,910 Pandangan UI pengawal, tetapi saya boleh memanggilnya apa-apa nama lain di sini. 848 00:45:15,910 --> 00:45:19,400 Saya boleh memanggil CS50 ini, saya boleh memanggil pengawal pandangan ini, saya boleh memanggil 849 00:45:19,400 --> 00:45:21,640 ini pandangan pengawal blah - 850 00:45:21,640 --> 00:45:22,400 apa-apa yang saya mahu. 851 00:45:22,400 --> 00:45:24,140 Ini hanyalah nama untuk kelas. 852 00:45:24,140 --> 00:45:27,020 Walau bagaimanapun, ia akan menjadi penting kerana, pada dasarnya, apa yang saya lakukan 853 00:45:27,020 --> 00:45:29,720 di sini ialah, saya mewujudkan satu lagi nama kelas. 854 00:45:29,720 --> 00:45:34,140 Jadi, ia akan menjadi, seperti, beberapa jenis jenis atau objek. 855 00:45:34,140 --> 00:45:35,910 Jadi, ia perlu sedikit generik. 856 00:45:35,910 --> 00:45:37,225 Ia tidak akan menjadi sangat khusus. 857 00:45:37,225 --> 00:45:40,410 858 00:45:40,410 --> 00:45:44,480 >> Dan juga, saya ingin menunjukkan keluar kedua-dua pilihan. 859 00:45:44,480 --> 00:45:48,430 Kerana kita lakukan kesemua di dalam kod, kadang-kadang ia adalah lebih mudah 860 00:45:48,430 --> 00:45:53,540 untuk membawa masuk fail antara muka, seperti yang Saya benar-benar boleh menyeret dan melepaskan, sebagai 861 00:45:53,540 --> 00:45:54,960 yang kita lakukan sebelum ini dengan papan cerita - 862 00:45:54,960 --> 00:45:57,810 anda tahu, label, atau butang, atau apa-apa sahaja. 863 00:45:57,810 --> 00:46:01,950 Dan sebagainya, xibs adalah fail yang membolehkan anda untuk berbuat demikian, dan anda perlu cangkuk itu sehingga 864 00:46:01,950 --> 00:46:04,310 pandangan ini pengawal fail. 865 00:46:04,310 --> 00:46:06,540 >> Jadi, saya akan sengaja tidak menyemak ini. 866 00:46:06,540 --> 00:46:12,510 Biasanya saya akan menyemak ini, dan jika saya hanya melakukan ini untuk iPhone atau iPad, saya 867 00:46:12,510 --> 00:46:16,340 akan memeriksa ini dan hanya mempunyai satu , anda tahu, iPhone atau iPad. 868 00:46:16,340 --> 00:46:19,750 Tetapi oleh kerana saya lakukan sejagat, saya akan untuk mewujudkan dua daripada kemudian. 869 00:46:19,750 --> 00:46:22,220 Jadi, saya akan sengaja tanda ini. 870 00:46:22,220 --> 00:46:23,940 >> Ini juga benar-benar penting. 871 00:46:23,940 --> 00:46:27,490 Banyak kali, saya mempunyai pepijat di mana ini tidak ditandakan. 872 00:46:27,490 --> 00:46:31,930 Dan sebagainya, jelas, fail ini tidak, jenis, seperti, dimasukkan atau diimport 873 00:46:31,930 --> 00:46:33,740 dalam folder ujian ini. 874 00:46:33,740 --> 00:46:38,180 Dan sebagainya, kod saya sama sekali tidak mempunyai idea kewujudan fail ini, dan 875 00:46:38,180 --> 00:46:41,080 yang menyebabkan banyak kesakitan dan jam debugging. 876 00:46:41,080 --> 00:46:44,360 Tetapi, pastikan ini diperiksa supaya bahawa, anda tahu, sasaran ini 877 00:46:44,360 --> 00:46:47,510 fail adalah untuk permohonan ini. 878 00:46:47,510 --> 00:46:48,310 >> OK. 879 00:46:48,310 --> 00:46:51,680 Jadi, kita telah membuat dua fail baru. 880 00:46:51,680 --> 00:46:54,050 Dan fail-fail ini kelihatan cukup kosong. 881 00:46:54,050 --> 00:46:59,550 Dan, sebenarnya, biar kita terus pada dengan mewujudkan fail xib. 882 00:46:59,550 --> 00:47:03,690 Jadi, sebelum ini, saya berada di Koko Touch drop-down. 883 00:47:03,690 --> 00:47:06,880 Sekarang, saya akan pergi ke Pengguna Sentuhan antara muka, dan seperti yang anda lihat, saya 884 00:47:06,880 --> 00:47:08,120 boleh membuat papan cerita. 885 00:47:08,120 --> 00:47:11,710 >> Jadi, walaupun saya bermula dengan kosong permohonan, saya masih boleh menggunakan 886 00:47:11,710 --> 00:47:12,340 papan cerita. 887 00:47:12,340 --> 00:47:15,480 Walaupun, ia mendapat rumit dari segi bagaimana anda mahu menyambung 888 00:47:15,480 --> 00:47:16,820 bahawa untuk kod anda. 889 00:47:16,820 --> 00:47:18,230 Jadi, saya tidak akan pergi ke sana. 890 00:47:18,230 --> 00:47:22,160 >> Tetapi, apa yang kita mahu lakukan sekarang ialah mewujudkan pandangan. 891 00:47:22,160 --> 00:47:25,720 Dan anda boleh memilih untuk iPhone atau iPad. 892 00:47:25,720 --> 00:47:30,180 Dan biasanya, untuk menunjukkan perbezaan - jika anda sedang melakukan 893 00:47:30,180 --> 00:47:31,950 permohonan sejagat - 894 00:47:31,950 --> 00:47:35,980 anda sama ada meletakkan bawah garis bawah, atau anda boleh melakukan Twiddly. 895 00:47:35,980 --> 00:47:36,980 Ia tidak benar-benar perkara itu. 896 00:47:36,980 --> 00:47:40,890 Ia hanya untuk anda untuk membezakan yang pandangan adalah yang mana peranti. 897 00:47:40,890 --> 00:47:43,470 898 00:47:43,470 --> 00:47:44,430 >> Dan sebagainya, kini melihat. 899 00:47:44,430 --> 00:47:47,550 Saya mempunyai skrin yang saya boleh bekerja dengan. 900 00:47:47,550 --> 00:47:53,530 Dan sebagainya, sebagai contoh, saya boleh meletakkan label yang di sini, anda tahu, dan saya juga boleh meletakkan 901 00:47:53,530 --> 00:47:54,820 butang lain di sini. 902 00:47:54,820 --> 00:47:58,730 Saya tidak akan mengganggu berubah nilai-nilai di sini. 903 00:47:58,730 --> 00:48:09,050 >> Tetapi, apa yang penting di sini ialah bahawa pemilik fail ini - 904 00:48:09,050 --> 00:48:13,660 jadi, saya di dalam iPhone pandangan, Fail xib iPhone. 905 00:48:13,660 --> 00:48:18,050 Dan ke bawah dalam kawasan navigasi ini atau drop-down menu, saya mahu pergi ke 906 00:48:18,050 --> 00:48:19,090 pemilik fail. 907 00:48:19,090 --> 00:48:22,630 Dan ini adalah benar-benar langkah yang penting di sini. 908 00:48:22,630 --> 00:48:27,780 Saya ingin pandangan kelas pengawal, supaya fail xib ini 909 00:48:27,780 --> 00:48:30,030 akan dikaitkan dengan pengawal pandangan saya. 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 Dan apa-apa yang saya lakukan di dalam pandangan saya pengawal programatik adalah 912 00:48:39,360 --> 00:48:42,800 akan dapat dilihat di sini. 913 00:48:42,800 --> 00:48:46,270 >> Jadi, bagaimanapun, melihat bahawa - 914 00:48:46,270 --> 00:48:55,995 sebenarnya, mari kita membuat pandangan ini biru latar belakang, sebagai contoh. 915 00:48:55,995 --> 00:49:00,280 916 00:49:00,280 --> 00:49:01,530 Atau hijau. 917 00:49:01,530 --> 00:49:03,870 918 00:49:03,870 --> 00:49:07,950 Dan kemudian, jadi jika anda akan notis, kembali pada kod ini, ini adalah di mana kami dapat kami 919 00:49:07,950 --> 00:49:09,200 pengawal navigasi. 920 00:49:09,200 --> 00:49:12,650 921 00:49:12,650 --> 00:49:18,310 >> Walaupun kami melakukan langkah itu, ia masih akan menjadi merah, tidak hijau. 922 00:49:18,310 --> 00:49:20,350 Dan ada sebab mengapa. 923 00:49:20,350 --> 00:49:28,090 Ini kerana, apabila kita inited pengawal pandangan kami, di sini - 924 00:49:28,090 --> 00:49:30,010 maaf, ia tidak gila - 925 00:49:30,010 --> 00:49:34,520 apabila kita inited pengawal pandangan kami di sini, kita inited ia jenis umum 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 Oleh itu, kita tidak pun melakukan dengan kelas ini. 929 00:49:40,560 --> 00:49:42,030 >> Jadi ingat, ini adalah seperti kelas sekarang. 930 00:49:42,030 --> 00:49:47,160 Ia boleh dianggap sebagai jenis, hanya sebagai UIViewController adalah jenis. 931 00:49:47,160 --> 00:49:51,080 Dan untuk menggunakannya, apa yang yang perlu kita lakukan adalah mengimportnya - 932 00:49:51,080 --> 00:49:52,520 import ViewController - 933 00:49:52,520 --> 00:49:55,750 dan, seperti yang anda lihat, ia autofills untuk saya. 934 00:49:55,750 --> 00:49:56,570 Jadi, ViewController - 935 00:49:56,570 --> 00:50:02,070 dan kini, di sini, saya boleh menukar ini UIViewController untuk ViewController. 936 00:50:02,070 --> 00:50:05,050 Dan kini, di sini, saya boleh menukar ini untuk ViewController. 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> Mari kita menjalankan ini lagi. 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 Ia masih merah. 941 00:50:19,690 --> 00:50:23,370 Dan sebab mengapa ia masih merah adalah kerana - 942 00:50:23,370 --> 00:50:26,230 Woah, apa yang berlaku di sana? 943 00:50:26,230 --> 00:50:31,500 Kami mahu mengaitkan xib ini memfailkan dengan pengawal pandangan. 944 00:50:31,500 --> 00:50:37,540 Walau bagaimanapun, untuk benar-benar melakukan itu, kita perlu pergi ke dalam ini. 945 00:50:37,540 --> 00:50:42,980 Dan apabila kita melakukan INIT, kami mahu melakukan initWithNibName, dan kemudian kita mahu 946 00:50:42,980 --> 00:50:48,910 melakukan perkara yang di tali View_iPhone, sebagai contoh. 947 00:50:48,910 --> 00:50:51,700 Anda boleh mengabaikan ikatan di sini. 948 00:50:51,700 --> 00:50:54,965 >> Dan ini akan membolehkan kita, sebenarnya - 949 00:50:54,965 --> 00:51:00,620 950 00:51:00,620 --> 00:51:02,160 uh oh, ada masalah. 951 00:51:02,160 --> 00:51:09,300 952 00:51:09,300 --> 00:51:09,980 Betul. 953 00:51:09,980 --> 00:51:17,670 >> Dan sebagainya, ada masalah kerana, dalam fail view xib kami, kami mempunyai label dan 954 00:51:17,670 --> 00:51:18,720 kita mempunyai butang. 955 00:51:18,720 --> 00:51:23,660 Walau bagaimanapun, walaupun kami telah disambungkan kedua-dua, tiada apa-apa bahagian dalam 956 00:51:23,660 --> 00:51:27,440 ViewController.h atau ViewController.m yang menggambarkan orang- 957 00:51:27,440 --> 00:51:29,160 butang atau mereka label. 958 00:51:29,160 --> 00:51:32,425 Jadi, kita perlu menulis mereka sebagai sifat-sifat pengawal pandangan. 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> Jadi, ini adalah bagaimana anda mengisytiharkan harta. 961 00:51:39,490 --> 00:51:43,422 Ia mengambil masa dalam, biasanya, kedua-dua pilihan. 962 00:51:43,422 --> 00:51:48,690 Bagi maksud kami dan seminar ini, Saya akan mengatakan bahawa, secara umum, 963 00:51:48,690 --> 00:51:52,250 kebanyakan hartanah adalah nonatomic dan mengekalkan. 964 00:51:52,250 --> 00:51:55,420 Anda boleh membaca oleh Google mencari, anda tahu, perbezaan antara 965 00:51:55,420 --> 00:51:58,620 nonatomic dan mengekalkan, anda tahu, Google atau sesuatu. 966 00:51:58,620 --> 00:52:01,090 Dan saya akan membawa anda ke, seperti, Stack Limpahan, di mana orang akan mempunyai 967 00:52:01,090 --> 00:52:03,605 jawapan untuk perbezaan di antara mereka. 968 00:52:03,605 --> 00:52:07,000 Tetapi untuk sekarang, itulah yang kita mahu bimbang dengan. 969 00:52:07,000 --> 00:52:12,790 >> Dan kita mahu membuat label UI, bintang, dan kita boleh memanggilnya apa sahaja yang kita mahu. 970 00:52:12,790 --> 00:52:15,710 Kita boleh memanggil ini, anda tahu, label. 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 Dan, kami akan mewujudkan satu lagi satu untuk butang. 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 Dan ingat untuk termasuk asterisk, kerana kita berhadapan dengan petunjuk 975 00:52:29,910 --> 00:52:36,740 cukup banyak di mana-mana di dalam Objektif-C. 976 00:52:36,740 --> 00:52:42,110 >> Walau bagaimanapun, yang masih tidak menyelesaikan masalah ini, seperti yang anda lihat di sini. 977 00:52:42,110 --> 00:52:50,540 Dan sebab itu adalah kerana, apabila kita hendak menyambung label fail xib atau 978 00:52:50,540 --> 00:52:55,690 butang untuk program ini, atau pengepala dan fail pelaksanaan, kami mahu 979 00:52:55,690 --> 00:52:58,255 menambah sekeping kod - 980 00:52:58,255 --> 00:53:00,610 cawangan. 981 00:53:00,610 --> 00:53:03,600 Perhatikan bahawa ia adalah satu perkataan utama. 982 00:53:03,600 --> 00:53:07,970 >> Dan, sebaik sahaja saya selesai menaip yang keluar, ia perlu mempunyai ini 983 00:53:07,970 --> 00:53:09,100 dua bulatan, di sini. 984 00:53:09,100 --> 00:53:11,200 Biasanya, mereka tidak diisi 985 00:53:11,200 --> 00:53:12,920 Saya tidak pasti mengapa mereka berada. 986 00:53:12,920 --> 00:53:21,370 Tetapi biasanya, anda perlu secara manual menghubungkan mereka dengan pergi ke sebelah ini 987 00:53:21,370 --> 00:53:23,530 kawasan utiliti. 988 00:53:23,530 --> 00:53:28,430 >> Dan sebagainya, sekarang, saya mempunyai label saya dipilih, dan saya mahu mengheret ini baru 989 00:53:28,430 --> 00:53:33,910 rujukan outlet untuk pemilik fail saya, dan kemudian klik pada Label. 990 00:53:33,910 --> 00:53:40,230 Jadi sekarang, akhirnya, label ini adalah berkaitan dengan label ini. 991 00:53:40,230 --> 00:53:44,950 Dan label ini adalah apa yang kita akan menggunakan program menetapkan untuk berubah 992 00:53:44,950 --> 00:53:49,250 teks, font yang, latar belakang warna, dan sebagainya. 993 00:53:49,250 --> 00:53:52,430 >> Jadi, kenapa pula kita tidak melakukan perkara yang sama untuk butang di? 994 00:53:52,430 --> 00:53:54,770 Dan seperti yang anda akan notis, untuk butang, ia sedikit lebih rumit. 995 00:53:54,770 --> 00:53:59,060 Kerana, saya maksudkan, anda sepatutnya akhbar mengenai butang, supaya ia mendapat banyak 996 00:53:59,060 --> 00:54:02,950 pilihan untuk bagaimana pengguna boleh tekan pada butang. 997 00:54:02,950 --> 00:54:06,570 Dan kemudian, kita akan melihat kemudian bahawa kita boleh menyambungkannya dengan kami 998 00:54:06,570 --> 00:54:09,140 kod untuk menjayakannya. 999 00:54:09,140 --> 00:54:12,770 >> Jadi, buat masa walaupun, kita mahu menyambung kepada butang sebenar 1000 00:54:12,770 --> 00:54:13,570 dalam kod kami. 1001 00:54:13,570 --> 00:54:19,640 Oleh itu, kita pergi ke alur rujukan yang baru, dan kemudian melakukan butang. 1002 00:54:19,640 --> 00:54:22,068 Sekarang, mari kita berjalan ini lagi. 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 Saya tidak tahu apa yang berlaku di sini sekarang. 1006 00:54:25,140 --> 00:54:48,450 1007 00:54:48,450 --> 00:54:49,700 Wah. 1008 00:54:49,700 --> 00:54:57,380 1009 00:54:57,380 --> 00:54:58,960 Hanya seketika, di sini. 1010 00:54:58,960 --> 00:55:02,490 >> Sebenarnya, kenapa pula kita tidak mengambil melihat satu lagi contoh dalam 1011 00:55:02,490 --> 00:55:05,800 kepentingan masa. 1012 00:55:05,800 --> 00:55:06,200 OK. 1013 00:55:06,200 --> 00:55:10,610 Jadi, di sini yang lebih mudah disediakan contoh untuk ViewController. 1014 00:55:10,610 --> 00:55:13,230 1015 00:55:13,230 --> 00:55:17,110 Seperti yang anda lihat di sini, saya telah menyertakan sifat-sifat bagi 1016 00:55:17,110 --> 00:55:18,460 label dan butang. 1017 00:55:18,460 --> 00:55:20,370 Dan kemudian, ini sekeping kod di sini - 1018 00:55:20,370 --> 00:55:21,830 IBaction ini - 1019 00:55:21,830 --> 00:55:27,740 adalah sambungan ke butang ini di sini. 1020 00:55:27,740 --> 00:55:33,940 Jadi seperti yang anda lihat di sini, Touch Up Di dalam disambungkan kepada pemilih 1021 00:55:33,940 --> 00:55:37,390 dipanggil Butang ditekan. 1022 00:55:37,390 --> 00:55:41,700 >> Jadi, kita sebenarnya boleh pergi melalui gerakan lagi, di sini, dengan mengambil Touch Up 1023 00:55:41,700 --> 00:55:48,750 Di dalam dan mengheret kepada Pemilik fail, dan kemudian 1024 00:55:48,750 --> 00:55:51,570 klik pada Butang ditekan. 1025 00:55:51,570 --> 00:55:52,820 Sekarang, mari kita menjalankan kod kami. 1026 00:55:52,820 --> 00:55:55,710 1027 00:55:55,710 --> 00:56:02,020 Jadi sekarang, butang ini kini berfungsi dan akan membawa kami ke halaman seterusnya. 1028 00:56:02,020 --> 00:56:08,430 >> Dan, dari segi pengawal pandangan kami, ini adalah sekeping kod yang mengambil 1029 00:56:08,430 --> 00:56:10,000 menjaga Butang ditekan. 1030 00:56:10,000 --> 00:56:14,260 Dan adalah penting untuk diperhatikan di sini, bahawa Saya telah membuat satu lagi jenis pandangan 1031 00:56:14,260 --> 00:56:16,330 pengawal dipanggil meja pandangan pengawal. 1032 00:56:16,330 --> 00:56:19,900 Jadi, ini adalah sama dengan menyokong di papan cerita, apabila saya diheret salah satu 1033 00:56:19,900 --> 00:56:23,450 ini pengawal paparan jadual ke dalam papan cerita. 1034 00:56:23,450 --> 00:56:24,470 Saya mewujudkan satu lagi 1035 00:56:24,470 --> 00:56:30,000 >> Penunjuk kepada pengawal paparan jadual, alloc dan INIT-ing, dan kemudian melakukan 1036 00:56:30,000 --> 00:56:34,490 dot diri navigasi pengawal, menolak ViewController, ini baru 1037 00:56:34,490 --> 00:56:35,350 viewController. 1038 00:56:35,350 --> 00:56:39,750 Dan saya tetapkan animasi kepada ya, kerana sekarang dalam aplikasi saya, dan saya 1039 00:56:39,750 --> 00:56:45,670 ingin benar-benar melihat animasi akan dari halaman rumah ke meja 1040 00:56:45,670 --> 00:56:46,920 pandangan pengawal. 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> PENONTON: Adakah anda masih bimbang mengenai kutipan sampah? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: Apa itu? 1044 00:56:51,840 --> 00:56:54,740 No 1045 00:56:54,740 --> 00:56:58,970 Jadi, soalan itu, adakah anda mempunyai untuk bekerja dengan kutipan sampah? 1046 00:56:58,970 --> 00:57:03,470 Jadi, Xcode 4 mempunyai seperti ARC, yang merupakan pengiraan rujukan automatik. 1047 00:57:03,470 --> 00:57:06,120 Dan sebagainya, biasanya apabila anda memulakan baru projek, anda akan memeriksa itu, kerana 1048 00:57:06,120 --> 00:57:09,440 tidak ada yang benar-benar mahu untuk menangani membebaskan memori dan barangan. 1049 00:57:09,440 --> 00:57:13,720 Tetapi saya rasa pada Xcode 5, tidak ada satu pun bahawa pilihan projek yang baru. 1050 00:57:13,720 --> 00:57:16,750 Jadi, ia secara automatik tidak untuk anda. 1051 00:57:16,750 --> 00:57:16,920 Ya? 1052 00:57:16,920 --> 00:57:20,970 >> PENONTON: Bolehkah anda mengeksport PDF dalam papan cerita anda? 1053 00:57:20,970 --> 00:57:22,020 >> RHED SHI: Ya, sudah tentu. 1054 00:57:22,020 --> 00:57:28,180 Jadi, semua ini akan dimasukkan ke dalam kod sumber, supaya anda semua boleh menyemak 1055 00:57:28,180 --> 00:57:30,730 projek Xcode sebenar untuk itu. 1056 00:57:30,730 --> 00:57:31,105 Yeah? 1057 00:57:31,105 --> 00:57:35,944 >> PENONTON: Tetapi, saya maksudkan, seperti, yang boleh saya mencetak PDF dengan papan cerita saya? 1058 00:57:35,944 --> 00:57:38,920 Jika saya hanya mahu mengeksport imej untuk menunjukkan seseorang. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: Ya. 1060 00:57:39,160 --> 00:57:41,980 Saya fikir, mungkin, anda boleh hanya mengambil satu pukulan skrin. 1061 00:57:41,980 --> 00:57:44,350 Ya, dan menghantar mereka skrin ditembak atau sesuatu. 1062 00:57:44,350 --> 00:57:45,600 Yeah. 1063 00:57:45,600 --> 00:57:49,170 1064 00:57:49,170 --> 00:57:50,570 >> Jadi, mari kita lihat. 1065 00:57:50,570 --> 00:57:56,470 Demi kepentingan masa, saya fikir itu sahaja l boleh meliputi hari ini. 1066 00:57:56,470 --> 00:57:59,600 Tetapi, saya tahu bahawa, sebenarnya, hanya hampir tidak menyentuh permukaan IOS 1067 00:57:59,600 --> 00:58:00,370 pembangunan. 1068 00:58:00,370 --> 00:58:05,630 Jadi, sila hubungi saya jika anda mempunyai sebarang soalan mengenai IOS 1069 00:58:05,630 --> 00:58:07,000 pembangunan. 1070 00:58:07,000 --> 00:58:12,840 Dan, mudah-mudahan, saya akan dapat untuk membersihkan sehingga beberapa kod untuk sumber 1071 00:58:12,840 --> 00:58:16,830 fail kod, supaya anda akan mempunyai beberapa contoh benar-benar baik untuk bekerja dengannya. 1072 00:58:16,830 --> 00:58:21,020 >> Selain daripada itu, jika anda lelaki akan kepada CS50 Hackathon, saya mungkin atau boleh 1073 00:58:21,020 --> 00:58:25,730 tidak berada di sana, dan saya boleh membantu dengan beberapa pembangunan IOS juga. 1074 00:58:25,730 --> 00:58:26,980 Jadi, terima kasih banyak, guys. 1075 00:58:26,980 --> 00:58:31,168