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 รู้เบื้องต้นเกี่ยวกับ iOS 4 00:00:11,630 --> 00:00:13,290 ขอขอบคุณทุกท่านที่มา 5 00:00:13,290 --> 00:00:16,610 ฉันหวังว่าคุณเพียงแค่รู้สึกตื่นเต้นเป็น เป็นฉันเกี่ยวกับ iOS 6 00:00:16,610 --> 00:00:22,300 ปีที่แล้วผมเอา CS50 เป็นนักเรียนปีที่สอง และผมได้เรียนรู้โดยทั่วไป iOS กับฉัน 7 00:00:22,300 --> 00:00:23,490 โครงการสุดท้าย 8 00:00:23,490 --> 00:00:26,350 และมันก็สวย - 9 00:00:26,350 --> 00:00:30,530 ดีมันไม่ใช่เรื่องง่าย แต่ก็มี จำนวนมากบทเรียนการสนับสนุนออนไลน์ 10 00:00:30,530 --> 00:00:33,760 และผมหวังจริงๆว่าด้วยการนี​​้ สัมมนาฉันจะให้พวกคุณหัว 11 00:00:33,760 --> 00:00:36,750 เริ่มต้นในการพัฒนา iOS 12 00:00:36,750 --> 00:00:40,490 >> ดังนั้นในแง่ของการพัฒนา iOS, มีสองสิ่งที่สำคัญที่เรา 13 00:00:40,490 --> 00:00:42,090 ต้องการที่จะครอบคลุมในวันนี้ 14 00:00:42,090 --> 00:00:43,290 ก่อนภาษา - 15 00:00:43,290 --> 00:00:46,650 ภาษาเป็นไปได้ใน -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 และส่วนใหญ่เป็นสิ่งที่ฉันต้องการจะทำคือคู่มือ คุณผ่าน-C และยัง 22 00:01:05,349 --> 00:01:10,650 Xcode ซึ่งเป็นแบบบูรณาการ การพัฒนาสภาพแวดล้อมที่คุณจะ 23 00:01:10,650 --> 00:01:13,460 การทำงานใน for iOS 24 00:01:13,460 --> 00:01:19,140 >> ดังนั้นเพียงแค่คำบน-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 สามารถทำได้ในวัตถุประสงค์ 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 -C ปีที่ผ่านมา 35 00:01:57,180 --> 00:02:00,910 >> ดีจริงจึงจุดอื่น ๆ มีวัตถุประสงค์-C มีชัด 36 00:02:00,910 --> 00:02:02,200 เชิงวัตถุ 37 00:02:02,200 --> 00:02:06,340 และเราจะหารือเกี่ยวกับนิด ๆ หน่อย ๆ เกี่ยวกับสิ่งที่หมายถึงในภายหลัง 38 00:02:06,340 --> 00:02:11,340 โดยทั่วไปก็เช่นวิธีการที่คุณทำงานร่วมกับ structs ใน pset ที่ผ่านมานี้ด้วย 39 00:02:11,340 --> 00:02:13,360 โหนดและอื่น ๆ ที่คล้ายกัน สิ่งที่ต้องการที่ 40 00:02:13,360 --> 00:02:17,110 ยกเว้นในวัตถุประสงค์ทุกอย่างเป็น วัตถุและคุณกำลังจะเป็น 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 -C? 45 00:02:30,540 --> 00:02:38,310 ฉันต้องการที่จะเน้น # รวมถึงคุณ รู้ io.h มาตรฐานใน C และ C + + ด้วย 46 00:02:38,310 --> 00:02:44,030 รุ่น-C ที่ซึ่ง เป็น # import แล้วการจัดเรียงของบางอย่าง 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 ที่จะทำเช่นแผนที่ภายในของ app ของคุณ 51 00:02:56,370 --> 00:02:57,110 สิ่งที่คล้ายกันเช่นนั้น 52 00:02:57,110 --> 00:03:01,250 >> ดังนั้นสิ่งที่สำคัญคือมี มีการเปลี่ยนแปลงในขณะนี้ที่จะนำเข้า 53 00:03:01,250 --> 00:03:04,340 แต่ความคิดที่ยังคงอยู่ 54 00:03:04,340 --> 00:03:10,460 คุณกำลังจะนำเข้าบางประเภท ของไฟล์ส่วนหัวลงในโปรแกรมของคุณ 55 00:03:10,460 --> 00:03:14,550 >> ฉันยังต้องการที่จะเน้นความแตกต่าง ระหว่าง printf และ NSLog 56 00:03:14,550 --> 00:03:19,760 แต่ที่เรากล่าวว่าก่อนหน้านี้-C เป็นที่เข้มงวดซุปเปอร์ชุดของ 57 00:03:19,760 --> 00:03:22,800 C ซึ่งหมายความว่า printf อยู่ ในวัตถุประสงค์-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 ค่าตัวยึดเป็น printf ไม่ - 64 00:03:41,650 --> 00:03:45,900 ดังนั้น% d เป็น int, f% เป็นลอย 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 และที่ผมกล่าวว่าก่อนหน้านี้ข้อเสนอ-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 ที่จะมีความหมายสตริงที่ตอนนี้ ในวัตถุประสงค์-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 มีที่อยู่ด้านหน้าของคำพูดแม้ แม้ว่า% d และฉ% เป็น 81 00:04:42,400 --> 00:04:45,200 ทั้งหมดเดียวกันจาก C. 82 00:04:45,200 --> 00:04:47,930 >> คำถามใด ๆ เพื่อให้ห่างไกล 83 00:04:47,930 --> 00:04:50,920 ฉันจะพยายามที่จะผ่านไปนี้ได้อย่างรวดเร็วเพื่อ ที่เราจะได้มีเวลามากขึ้นในการทำงาน 84 00:04:50,920 --> 00:04:55,210 ด้วย Xcode และวัตถุประสงค์-C ดังนั้น ที่พวกคุณจะได้รับเพิ่มเติม 85 00:04:55,210 --> 00:04:57,630 คุ้นเคยกับมัน 86 00:04:57,630 --> 00:05:01,900 >> ต่อไปผมต้องการที่จะเน้นสิ่งที่ ที่สำคัญแนวคิด 87 00:05:01,900 --> 00:05:05,130 ดังนั้นใน C สิ่งที่มากที่สุดคือฟังก์ชั่น 88 00:05:05,130 --> 00:05:06,280 เราจะให้การเรียกใช้ฟังก์ชัน 89 00:05:06,280 --> 00:05:10,190 เราขอประกาศฟังก์ชั่นด้วยวิธีนี้ด้วย กลับพิมพ์ครั้งแรกแล้ว 90 00:05:10,190 --> 00:05:13,570 ชื่อฟังก์ชันวงเล็บแล้ว สิ่งที่ขัดแย้งและประเภทของ 91 00:05:13,570 --> 00:05:15,590 ข้อโต้แย้งเหล่านี้เราต้องการที่จะผ่านเข้ามา 92 00:05:15,590 --> 00:05:19,970 และวัตถุประสงค์-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 >> แต่คุณจะเห็นว่าเรามีวิธีการในการ -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 >> ดังนั้นตอนนี้ผมกำลังพยายามที่จะทำให้ เปรียบเทียบระหว่างคุณรู้และ n 116 00:06:43,160 --> 00:06:45,450 จำนวนเพราะพวกเขากำลัง ทั้งสอง ints เช่น 117 00:06:45,450 --> 00:06:49,580 แล้วคนอื่น ๆ เป็นประเภท NSUInteger 118 00:06:49,580 --> 00:06:56,390 และจากนั้นก็มีวัตถุประสงค์เมื่อคุณ ต้องการให้มีการขัดแย้งในหลาย 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 และที่นี่ผมกำลังพยายามที่จะแนะนำให้ท่านรู้จัก บางส่วนของไวยากรณ์และคำศัพท์ของ 134 00:07:41,570 --> 00:07:45,910 วัตถุประสงค์เพื่อให้ผู้ที่มีประเภทที่เกิดขึ้นจริง ที่คุณจะจัดการกับ 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 ในวัตถุประสงค์-C ด้วย เพียงสัญลักษณ์ที่อยู่ด้านหน้าของ 140 00:08:02,510 --> 00:08:04,190 วงเล็บ 141 00:08:04,190 --> 00:08:08,650 ฉันไม่จริงค่อนข้างแน่ใจว่า ฉัน syntactically ตายตัวอาร์เรย์ 142 00:08:08,650 --> 00:08:16,020 อย่างถูกต้องสำหรับรุ่น C แต่ที่ ควรจะเป็นในอาร์เรย์ C 143 00:08:16,020 --> 00:08:19,760 >> ดังนั้นนี้เป็นวิธีที่คุณจะคุณรู้ว่า บางทีอาจจะใช้ฟังก์ชั่นหรือ 144 00:08:19,760 --> 00:08:21,990 วิธีการที่เราสร้างขึ้นก่อนหน้านี้ 145 00:08:21,990 --> 00:08:22,250 ใช่มั้ย? 146 00:08:22,250 --> 00:08:25,340 ดังนั้นนี่คือที่เราประกาศของเรา การทำงานและวิธีการของเรา 147 00:08:25,340 --> 00:08:28,020 และตอนนี้เราต้องการที่จะใช้พวกเขาใน โปรแกรมของเราและนี่คือ 148 00:08:28,020 --> 00:08:29,450 วิธีการที่เราจะทำมัน 149 00:08:29,450 --> 00:08:32,400 ดังนั้นใน C คุณจะมีคุณรู้ว่า บางทีบูล b และคุณตั้งค่าให้ 150 00:08:32,400 --> 00:08:36,549 เท่ากับการทำงานแล้ว คุณผ่านในการขัดแย้ง 151 00:08:36,549 --> 00:08:39,190 >> ในวัตถุประสงค์-C ก็สวย มากในสิ่งเดียวกัน 152 00:08:39,190 --> 00:08:43,370 คุณมี NSArray * my_array และก็ จะเท่ากับ - ตอนนี้เพียง 153 00:08:43,370 --> 00:08:47,460 ความแตกต่างที่นี่คือสิ่งที่วัตถุ ซึ่งผมได้เน้นในสีเหลืองและ 154 00:08:47,460 --> 00:08:51,180 ในขณะที่คุณสามารถดูใน C มี ไม่มีคำอื่น ๆ สีเหลือง 155 00:08:51,180 --> 00:08:54,170 และมันเป็นเพราะวิธีการที่เป็น กับวัตถุบางอย่าง 156 00:08:54,170 --> 00:08:59,800 ดังนั้นที่ว่าทำไมฉันจะต้องมีวัตถุ ที่เรียงลำดับของการเรียกวิธีการนี​​้เมื่อวันที่ 157 00:08:59,800 --> 00:09:04,360 จำนวนศูนย์แล้ว NSArray, B, C, D 158 00:09:04,360 --> 00:09:05,350 คำถามใด ๆ เกี่ยวกับการที่ 159 00:09:05,350 --> 00:09:12,190 >> เราจะเห็นแนวความคิดเหล่านี้ในการดำเนินการ สวยเร็วเมื่อเราไปลงในการสาธิต 160 00:09:12,190 --> 00:09:13,400 ตกลง 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 ฉันรู้มากของคุณหรือบางส่วนของคุณ ไม่ได้มีแม็คซึ่งเป็นปัญหา 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 คุณเพียงแค่กดเล่นและ แล้วมันจะทำงาน app ของคุณ 187 00:10:34,700 --> 00:10:39,230 และคุณสามารถเล่นรอบกับคุณและ คุณจะเห็นวิธีการทำงานในภายหลัง 188 00:10:39,230 --> 00:10:42,690 >> และจากนั้นในศูนย์ของหลักสูตรเป็น ที่ทั้งหมดของรหัสที่สวยงามของคุณเป็น 189 00:10:42,690 --> 00:10:44,240 จะไป 190 00:10:44,240 --> 00:10:48,340 และจากนั้นบนด้านซ้ายมือของคุณจะ มีนี้เรียงลำดับของโฟลเดอร์ - 191 00:10:48,340 --> 00:10:50,340 นำทาง - 192 00:10:50,340 --> 00:10:53,970 แล้วคุณยังจะเห็นว่าพร้อม ที่มีไอคอนโฟลเดอร์ที่มี 193 00:10:53,970 --> 00:10:57,680 พวงของไอคอนอื่น ๆ มีที่ จะเป็นประโยชน์ต่อ 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 และวัตถุประสงค์-C 203 00:11:29,260 --> 00:11:32,770 >> และแล้วในที่สุดลงที่ด้านล่าง คุณมีพื้นที่แก้ปัญหา 204 00:11:32,770 --> 00:11:37,270 ดังนั้นคุณไม่จำเป็นต้องใช้ GDB, และอื่น ๆ ในโปรแกรมของคุณ 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 >> และจากนั้นเพียงเพื่อนำมันกลับไปที่ -C, ฉันต้องการที่จะเน้นสิ่งที่ 211 00:11:55,870 --> 00:11:57,440 คุณสามารถทำได้ด้วยถ้างบ 212 00:11:57,440 --> 00:12:03,160 ดังนั้นคุณรู้เพราะวัตถุประสงค์-C เป็น ซูเปอร์ซีทุกสิ่งที่คุณทำคือ 213 00:12:03,160 --> 00:12:06,890 ตัวอักษรเช่นเดียวกับ C. คุณเพียงแค่ มีความแตกต่างเล็กน้อย 214 00:12:06,890 --> 00:12:10,810 ดังนั้นคุณจะสังเกตเห็นรูปแบบที่ถ้า คำสั่งยังคงเดิม - คุณมี 215 00:12:10,810 --> 00:12:14,280 ถ้าและแล้วคุณมีวงเล็บด้วย สภาพภายในของมันแล้ว 216 00:12:14,280 --> 00:12:17,150 วงเล็บปีกกาสำหรับสิ่งที่คุณ ต้องการที่จะทำภายในจากที่นั่น 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 และในวัตถุประสงค์-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 ที่จะแสดงให้คุณเห็นว่าสิ่งที่จะมอง เช่นในวัตถุประสงค์-C เมื่อเทียบกับ C. 238 00:13:30,140 --> 00:13:35,400 >> และผมไม่ต้องการที่จะชี้ให้เห็นว่า แม้ว่าฉันจะได้รับใช้ NSUInteger 239 00:13:35,400 --> 00:13:39,860 ที่ด้านหน้าของฉันทั้งหมดของฉันใน-C, คุณยังสามารถใช้ int เพราะ int เป็น 240 00:13:39,860 --> 00:13:42,290 ที่ถูกต้องทั้งหมดในวัตถุประสงค์-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 ความแตกต่างระหว่าง int ใน 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 เว็บไซต์ที่แนะนำให้คุณ ไวยากรณ์-C 256 00:14:19,370 --> 00:14:24,410 ดังนั้นจริงทำไมเราไม่ย้ายไป Chrome และตรวจสอบเว็บไซต์นี้ 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> ขวา 259 00:14:31,300 --> 00:14:36,670 ดังนั้นสิ่งที่ฉันต้องการที่จะแสดงให้คุณเห็น คนที่นี่เป็นภาพนี้ 260 00:14:36,670 --> 00:14:41,630 ดังนั้นนี้คือการจัดเรียงของไปจะเป็นสิ่งที่ คุณกำลังจะได้เห็นภายในของใด ๆ 261 00:14:41,630 --> 00:14:42,890 ไฟล์ Xcode 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 ที่จริงแล้วทำไมเราไม่ใช้เวลาเพียงแค่ ขณะที่การเรียงลำดับของการใช้ระบบนี้ 264 00:14:51,430 --> 00:14:53,470 >> ดังนั้นหนังสือเล่มนี้ - 265 00:14:53,470 --> 00:14:55,880 นั่นคือวัตถุที่ เราจัดการกับ 266 00:14:55,880 --> 00:14:59,680 แล้วก็เห็นได้ชัดว่าจะเป็น ได้รับการถ่ายทอดจากบางส่วนวัตถุอื่น ๆ แต่ 267 00:14:59,680 --> 00:15:01,810 คุณไม่ต้องกังวลกับการที่ 268 00:15:01,810 --> 00:15:04,430 แล้วก็อาจจะมี ตัวแปรสมาชิกบางส่วน 269 00:15:04,430 --> 00:15:09,160 >> สิ่งที่สำคัญผมต้องการที่จะแสดงให้คุณเห็น เป็นวิธีการเช่นที่นี่ 270 00:15:09,160 --> 00:15:12,670 ดังนั้นวิธีการที่จะแสดงตัวอย่าง โดยเครื่องหมายลบนี้ 271 00:15:12,670 --> 00:15:15,550 แล้วที่คุณจะสังเกตเห็นเรา แล้วเริ่มต้นที่จะเห็นกระบวนทัศน์ 272 00:15:15,550 --> 00:15:17,670 สำหรับวิธีการประกาศใช่ไหม 273 00:15:17,670 --> 00:15:22,670 ประเภทกลับชื่อวิธีการและ แล้วประเภทของการโต้แย้งและ 274 00:15:22,670 --> 00:15:24,660 แล้วชื่อของการโต้แย้ง 275 00:15:24,660 --> 00:15:29,090 และเครื่องหมายลบหมายความว่ามันเป็น วิธีการเช่นซึ่งหมายความว่า 276 00:15:29,090 --> 00:15:32,270 วิธีการเหล่านี้จะมีให้เฉพาะ วัตถุที่ได้รับการอินสแตนซ์ 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> เพื่อความคมชัดที่วิธีการที่มีการบวก ลงนามในด้านหน้าของพวกเขาเป็นชั้น 279 00:15:39,100 --> 00:15:43,640 วิธีการซึ่งหมายความว่าคุณสามารถเรียก วิธีการเหล่านี้แม้ว่าคุณจะไม่ได้มี 280 00:15:43,640 --> 00:15:45,970 วัตถุที่สร้างขึ้นยัง 281 00:15:45,970 --> 00:15:51,600 ดังนั้นสำหรับตัวอย่างที่ชัดเจน NSString เป็นชั้น 282 00:15:51,600 --> 00:15:55,850 และคุณสามารถเรียกตัวอย่างเช่น วิธีการเรียนใน NSString - 283 00:15:55,850 --> 00:15:58,660 ที่เกิดขึ้นจริงเช่น NSString คำ 284 00:15:58,660 --> 00:16:02,050 >> อย่างไรก็ตามในการที่จะใช้เหล่านี้ วิธีการที่คุณจริง 285 00:16:02,050 --> 00:16:03,460 จำเป็นต้องสร้างสตริง 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 ว่าสตริง hello โลก 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 และการสนับสนุนแอปเปิ้ล 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 แล้วคุณจะมีเกมชุดสไปรท์ 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 ของคุณที่เก็บ app 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 >> นี้จะเป็นสิ่งที่สำคัญถ้าคุณ ต้องการ - ดังนั้นต่อ se เช่นใส่ app ของคุณ 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 ด้วยแอปเปิ้ล 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 ผมคิดว่าซีเอสมีหนึ่ง 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 >> ดังนั้นกระดานเป็นสิ่งที่แอปเปิ้ล ได้มากับที่จะช่วยจริงๆ 388 00:21:22,140 --> 00:21:26,550 นักพัฒนาอย่างรวดเร็วต้นแบบ การใช้งานของพวกเขา 389 00:21:26,550 --> 00:21:29,410 ดังนั้นนี้เป็นที่ที่คุณสามารถสร้าง app โดยไม่ต้องเขียน 390 00:21:29,410 --> 00:21:31,710 บรรทัดเดียวของรหัส 391 00:21:31,710 --> 00:21:35,390 อย่างไรก็ตามในการประยุกต์ใช้มุมมองของเราคนเดียว เราทำของหลักสูตรมี 392 00:21:35,390 --> 00:21:41,270 ไฟล์สำหรับมุมมองของเราที่ เป็นตัวควบคุมมุมมอง 393 00:21:41,270 --> 00:21:45,150 ดังนั้นเรามีส่วนหัวและ แฟ้มการดำเนินการที่นี่ 394 00:21:45,150 --> 00:21:52,350 >> และฉันจะซูมออกมาในขณะนี้เพราะ เราจะต้องทำงานในกระดาน 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 OK? 400 00:22:06,110 --> 00:22:14,010 >> และสาธารณูปโภคในพื้นที่ของเราเราสามารถเพิ่ม พวงของสิ่งที่แตกต่างกันไป 401 00:22:14,010 --> 00:22:19,290 ดังนั้นเมื่อคุณจัดการกับหน้าจอ ใน iOS, มุมมองที่เป็นตัวควบคุม 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 และเราจะเรียกปุ่มนี้ "ประปาที่นี่ เพื่อดำเนินการต่อ. "เราจะอยู่ตรงกลางมันยัง 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 app 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 ดังนั้น "segues กดสามารถนำมาใช้เฉพาะเมื่อ ควบคุมแหล่งที่มีการจัดการโดย 492 00:26:35,460 --> 00:26:40,700 ตัวอย่างของการควบคุมการนำ UI. " ดังนั้นเพราะเหตุนี้ไม่ได้ภายใน 493 00:26:40,700 --> 00:26:44,030 ควบคุมการเดินเรือ ฉันไม่สามารถทำเช่นนั้นได้ 494 00:26:44,030 --> 00:26:48,782 >> ดังนั้นตอนนี้ฉันจะกลับไปที่ โฟลเดอร์ที่จะกลับไปกระดาน 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 มันมักจะตั้งค่าโดยอัตโนมัติ ไดนามิคที่จะต้นแบบ - 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 ถ้าคุณเคยเห็น app เพลงเมื่อ คุณมีศิลปินส่วนจะ 548 00:29:35,160 --> 00:29:37,830 จะผ่าน Z's - 549 00:29:37,830 --> 00:29:38,780 ตัวอักษร - 550 00:29:38,780 --> 00:29:42,600 แล้วคุณจะรู้ว่าบุคคล แถวจะมีชื่อศิลปิน 551 00:29:42,600 --> 00:29:47,460 และเพื่อให้สิ่งที่เย็นที่นี่เป็นที่ที่ฉันสามารถ เข้าถึงทั้งหมดของวัตถุที่อยู่ภายใน 552 00:29:47,460 --> 00:29:50,430 ของกระดานเรื่องราวของฉันผ่านทางนี้ เมนูแบบเลื่อนลงได้อีกด้วย 553 00:29:50,430 --> 00:29:56,600 >> ดังนั้นฉันจะคลิกที่ส่วนของฉัน และฉันต้องการให้คุณรู้ว่าอาจจะห้าแถว 554 00:29:56,600 --> 00:30:00,770 แล้วภายในของแต่ละแถว ฉันต้องการที่จะนำฉลาก 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 และฉันจะเรียกสีฟ้านี้ 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 แล้วผมต้องการที่จะนำมุมมอง UI คุณ รู้ว่าอาจจะเป็นเหมือนกล่องเล็ก ๆ 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> เพื่อที่ฉันสามารถแสดงให้คน ตัวอย่างของสี 561 00:30:28,710 --> 00:30:34,150 และฉันจะกลับไปยังสถานที่ให้บริการไป เปลี่ยนสีที่โอ้ฉันทำไม่ได้ 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 และตอนนี้ขอบอกว่าผมต้องการที่จะควบคุม alt สีฟ้าแรกของฉัน 631 00:34:27,320 --> 00:34:28,980 แถวของตารางไปที่นี่ 632 00:34:28,980 --> 00:34:31,070 และฉันต้องการที่จะเรียกสีฟ้านี้ 633 00:34:31,070 --> 00:34:32,570 แล้ว - 634 00:34:32,570 --> 00:34:34,159 เรามาดู 635 00:34:34,159 --> 00:34:41,050 ฉันที่ดูในขณะนี้และฉันจะเปลี่ยน พื้นหลังสีฟ้า 636 00:34:41,050 --> 00:34:45,945 >> และเพื่อแจ้งให้ทราบที่นี่นี้แบบเลื่อนลง เมนูนี้ยังช่วยให้คุณมีลำดับชั้นของทั้งหมด 637 00:34:45,945 --> 00:34:47,040 ของวัตถุเหล่านี้ 638 00:34:47,040 --> 00:34:50,530 ดังนั้นสิ่งที่สำคัญที่จะต้องทราบที่นี่ คือทั้งหมดของสิ่งเหล่านี้ที่นี่ - 639 00:34:50,530 --> 00:34:54,330 นี้มุมมองตารางควบคุมตาราง มุมมองมุมมองตารางส่วนมุมมองตาราง 640 00:34:54,330 --> 00:34:57,169 มือถือ - สิ่งเหล่านี้เป็น วัตถุในรหัส 641 00:34:57,169 --> 00:35:03,752 ดังนั้นคุณรู้ว่าป้ายในขณะนี้อยู่ภายใต้ ดูเนื้อหาและอื่น ๆ 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 m และเราไม่ได้มี กระดานเรื่องราวอีกต่อไป 690 00:37:30,500 --> 00:37:39,580 >> ดังนั้นถ้าเราทำงานนี้เรายังจะ จะได้รับหน้าจอสีขาวขอบคุณพระเจ้า 691 00:37:39,580 --> 00:37:42,280 OK - หน้าจอสีขาว แต่ไม่มีอะไรอื่น 692 00:37:42,280 --> 00:37:45,260 และนี่คือส่วนหนึ่งที่สำคัญ 693 00:37:45,260 --> 00:37:47,810 นี่คือการกระทำที่เกิดขึ้น 694 00:37:47,810 --> 00:37:51,410 ในรุ่นก่อนหน้านี้มี มักจะไม่มีรหัสที่นี่ แต่ 695 00:37:51,410 --> 00:37:55,600 กระดานหลักให้ สำหรับส่วนนี้ 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 >> ผู้ชม: ซูม? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: ซูม 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 ดังนั้นผมก็สามารถกด 714 00:38:35,710 --> 00:38:40,180 >> ดังนั้นผมจึงต้องการที่จะสร้างระบบนำทาง UI ตัวชี้ตัวควบคุมและฉันสามารถเรียกมันว่า 715 00:38:40,180 --> 00:38:41,430 navigationController 716 00:38:41,430 --> 00:38:43,040 717 00:38:43,040 --> 00:38:44,470 ตอนนี้สิ่งที่ฉันจะทำตอนนี้ 718 00:38:44,470 --> 00:38:49,510 หลังจากเครื่องหมายเท่ากับนี้ผมต้องแรก สร้างมันขึ้นมาภายในของหน่วยความจำ 719 00:38:49,510 --> 00:38:53,790 ดังนั้นฉันจะทำ NavigationController alloc - 720 00:38:53,790 --> 00:38:56,640 เช่นนี้มีความคล้ายคลึงกับ malloc, ว่าพวกที่ใช้ใน C คุณ - 721 00:38:56,640 --> 00:38:58,400 แล้วฉันจะ init มัน 722 00:38:58,400 --> 00:39:03,670 >> ดังนั้นจึงเป็นสิ่งสำคัญมากที่ใด วัตถุที่คุณสร้างคุณต้องการ 723 00:39:03,670 --> 00:39:04,940 alloc และ init มัน 724 00:39:04,940 --> 00:39:08,600 ที่จะสร้างมันขึ้นมาและ instantialize ภายในของหน่วยความจำและ 725 00:39:08,600 --> 00:39:10,480 ตอนนี้คุณสามารถใช้งานได้ 726 00:39:10,480 --> 00:39:10,780 ทั้งหมดใช่ไหม 727 00:39:10,780 --> 00:39:14,360 หากคุณไม่ได้ทำอย่างนั้นวัตถุของคุณไม่ ไม่อยู่และคุณจะใช้เป็นพวง 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 ดังนั้นทุกสิ่งที่เป็นตัวชี้ใน -C และฉันจะทำ 732 00:39:29,620 --> 00:39:31,600 สิ่งที่คล้ายกันที่นี่ - 733 00:39:31,600 --> 00:39:32,850 alloc, init 734 00:39:32,850 --> 00:39:38,680 735 00:39:38,680 --> 00:39:40,150 ตกลง 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 วิธีการเช่นของ UI ควบคุมการนำ 750 00:40:13,590 --> 00:40:20,030 เพราะผมมีการสร้างระบบนำทางฉัน UI ควบคุมดาวและแล้วฉัน 751 00:40:20,030 --> 00:40:24,510 สามารถโทร pushViewController นี้ของฉัน เช่นที่เฉพาะเจาะจงในการเดินเรือ UI 752 00:40:24,510 --> 00:40:25,010 ตัวควบคุม 753 00:40:25,010 --> 00:40:29,490 >> ผู้ชม: เราต้องทำแน่นอน คำหรือไม่ก็มีอยู่แล้วสำหรับมันได้หรือไม่ 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: ใช่เพราะมันเป็นวิธีการ 755 00:40:31,380 --> 00:40:32,200 มันเหมือนกับฟังก์ชั่น 756 00:40:32,200 --> 00:40:33,330 มันก็เหมือนกับ printf 757 00:40:33,330 --> 00:40:34,390 มันก็เหมือนกับ scanf 758 00:40:34,390 --> 00:40:36,250 มันก็เหมือนกับ strcompare 759 00:40:36,250 --> 00:40:40,310 ยกเว้นว่ามันจะรู้ว่าสิ่งที่คุณอาจต้องการ พิมพ์และแจ้งให้ทราบว่ามันจะเสมอ 760 00:40:40,310 --> 00:40:42,740 เกิดขึ้นกับสิ่งที่มี ที่ได้รับอนุญาตถูกต้องตามกฎหมายสำหรับคุณ 761 00:40:42,740 --> 00:40:47,620 ดังนั้นถ้าไม่มีอะไรแสดงขึ้นที่นี่ แล้วสิ่งที่ไม่ถูกต้อง 762 00:40:47,620 --> 00:40:50,550 >> ดังนั้น pushViewController 763 00:40:50,550 --> 00:40:52,580 ดังนั้นตอนนี้ผมต้องการที่จะผลักดัน ที่สร้างขึ้นใหม่ของฉัน 764 00:40:52,580 --> 00:40:56,850 UIViewController แล้วเคลื่อนไหว - 765 00:40:56,850 --> 00:40:57,470 อาจจะไม่ 766 00:40:57,470 --> 00:41:00,110 เพราะสิ่งนี้เป็นไปได้ ควบคุมมุมมองแรก 767 00:41:00,110 --> 00:41:03,210 ผมหมายถึงแม้ว่าผมจะไม่ให้เคลื่อนไหว มันอาจจะไม่แสดงขึ้นเพราะ 768 00:41:03,210 --> 00:41:05,050 มันเป็นหน้าจอแรก 769 00:41:05,050 --> 00:41:06,540 >> และอย่าลืมวงเล็บ 770 00:41:06,540 --> 00:41:08,850 ดังนั้นจำได้ว่าเราใช้วงเล็บหรือไม่ 771 00:41:08,850 --> 00:41:11,870 และภายในวงเล็บ วัตถุที่เรียกวิธีการ - 772 00:41:11,870 --> 00:41:15,910 ดังนั้นวัตถุของเราคือการนำ ควบคุมและวิธีการที่จะผลักดัน 773 00:41:15,910 --> 00:41:17,210 ควบคุมดูภาพเคลื่อนไหว 774 00:41:17,210 --> 00:41:21,920 และดูว่ามันจะใช้เวลาในสองข้อโต้แย้ง และพวกเขากำลังแยกจากกันโดยเรียงลำดับของ 775 00:41:21,920 --> 00:41:24,390 คำพูดและลำไส้ใหญ่ 776 00:41:24,390 --> 00:41:28,300 ดังนั้นวัตถุประสงค์พยายามที่จะทำให้ได้ดี และง่ายสำหรับคุณที่จะอ่านออกมาดัง ๆ - 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 ผมชอบเรียกมันว่าใน int ถ้า int ได้ เช่นวิธีการที่จะได้ตัวอย่างเช่น 801 00:42:49,620 --> 00:42:52,380 >> ดังนั้นถ้าเราใช้รหัสนี้เราจะ สังเกตเห็นว่าพื้นหลังเป็น 802 00:42:52,380 --> 00:42:53,540 จริงไม่แดง 803 00:42:53,540 --> 00:42:54,790 ก็ยังคงเป็นสีขาว 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 และวิธีที่เราจะได้รับรอบที่เป็น แจ้งให้ทราบว่ามี self.window 806 00:43:04,550 --> 00:43:08,260 นั่นคือเหมือนภาชนะที่ดีที่สุด สำหรับโปรแกรมของคุณ 807 00:43:08,260 --> 00:43:11,630 มันเป็นสิ่งที่ดีที่สุดที่มี ทุกอย่างบนหน้าจอสำหรับ 808 00:43:11,630 --> 00:43:13,650 iPhone หรือ iPad โปรแกรม 809 00:43:13,650 --> 00:43:20,970 >> และสะดวก self.window มีคุณสมบัติที่เรียกว่านี้ 810 00:43:20,970 --> 00:43:22,650 rootViewController 811 00:43:22,650 --> 00:43:26,480 และที่เป็นไปได้ชี้ไปยัง ควบคุมมุมมองแรกภ​​ายใน 812 00:43:26,480 --> 00:43:27,270 ของ app ของคุณ 813 00:43:27,270 --> 00:43:32,000 ดังนั้นสิ่งที่เราต้องการที่จะทำที่นี่ตอนนี้ เพื่อกำหนดว่าเท่ากับการนำของเรา 814 00:43:32,000 --> 00:43:32,710 ตัวควบคุม 815 00:43:32,710 --> 00:43:33,760 ใช่มั้ย? 816 00:43:33,760 --> 00:43:37,490 เพราะในทางเทคนิคการนำ ตัวควบคุมเป็นมุมมองแรกของเรา 817 00:43:37,490 --> 00:43:38,770 ตัวควบคุม 818 00:43:38,770 --> 00:43:46,160 มันจะติดตามของอาร์เรย์ของมุมมองอื่น ๆ ควบคุมและเราผลักดันนี้ 819 00:43:46,160 --> 00:43:49,810 ควบคุมดูเข้าแถวที่ ในการควบคุมการเดินเรือ 820 00:43:49,810 --> 00:43:52,640 >> ดังนั้นคุณไม่ต้องการที่จะทำเช่นนี้ 821 00:43:52,640 --> 00:43:54,225 ที่จะไม่ได้จริงๆช่วยให้คุณ 822 00:43:54,225 --> 00:43:58,040 คุณต้องการที่จะทำเช่นนี้ถ้าคุณอยากจะทำ ควบคุมการนำซึ่งมากที่สุด 823 00:43:58,040 --> 00:44:01,100 ของคุณอาจจะเป็นเพราะคุณจะต้องการ การเรียงลำดับของ, มีการจัดเรียงของบางอย่าง 824 00:44:01,100 --> 00:44:04,840 เช่นเมนูที่จะกลับไปหรือบาง หน้าแรกที่จะกลับไปมากกว่า 825 00:44:04,840 --> 00:44:05,470 หน้าจอว่างเปล่า 826 00:44:05,470 --> 00:44:05,920 ใช่? 827 00:44:05,920 --> 00:44:11,460 >> ผู้ชม: มันเป็นความอึดอัด สำหรับคุณที่จะซูมใน - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: ใช่ 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 ดังนั้นใช่ 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 แต่โดยเฉพาะอย่างยิ่งเรากำลังจะ สร้างอีกชั้น-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 มุมมอง UI ควบคุม แต่ฉันสามารถ เรียกว่าชื่ออื่น ๆ ที่นี่ 848 00:45:15,910 --> 00:45:19,400 ฉันสามารถโทร CS50 นี้ผมสามารถเรียก ควบคุมดูนี้ผมสามารถเรียก 849 00:45:19,400 --> 00:45:21,640 มุมมองนี้ควบคุม blah - 850 00:45:21,640 --> 00:45:22,400 อะไรที่ฉันต้องการ 851 00:45:22,400 --> 00:45:24,140 นี่เป็นเพียงชื่อสำหรับการเรียน 852 00:45:24,140 --> 00:45:27,020 แต่มันจะเป็นสิ่งที่สำคัญ เพราะเป็นหลักสิ่งที่ฉันทำ 853 00:45:27,020 --> 00:45:29,720 นี่คือฉันสร้าง ชื่อชั้นอื่น 854 00:45:29,720 --> 00:45:34,140 ดังนั้นจึงเป็นไปได้เช่นเดียวกับบางคน การเรียงลำดับของประเภทหรือวัตถุ 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 โดยปกติผมจะตรวจสอบเรื่องนี้และถ้าผม เพียง แต่นี้สำหรับ iPhone หรือ 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 ดังนั้นก่อนหน้านี้ผมอยู่ใน โกโก้สัมผัสแบบเลื่อนลง 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 ดูไฟล์ iPhone xib 905 00:48:13,660 --> 00:48:18,050 และลงในพื้นที่นำทางหรือ เมนูแบบเลื่อนลงที่ฉันต้องการจะไป 906 00:48:18,050 --> 00:48:19,090 เจ้าของไฟล์ 907 00:48:19,090 --> 00:48:22,630 และนี่คือจริงๆ ขั้นตอนที่สำคัญที่นี่ 908 00:48:22,630 --> 00:48:27,780 ฉันต้องการที่จะทำให้มุมมองระดับ ควบคุมเพื่อให้แฟ้ม xib นี้ 909 00:48:27,780 --> 00:48:30,030 จะได้รับการที่เกี่ยวข้องกับ ควบคุมมุมมองของฉัน 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 และสิ่งที่ฉันทำด้านในของมุมมองของฉัน โปรแกรมควบคุมเป็น 912 00:48:39,360 --> 00:48:42,800 จะได้รับการสะท้อนให้เห็นที่นี่ 913 00:48:42,800 --> 00:48:46,270 >> ดังนั้น แต่สังเกตเห็นว่า - 914 00:48:46,270 --> 00:48:55,995 จริงขอให้มุมมองนี้ พื้นหลังสีฟ้ายกตัวอย่างเช่น 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 OK? 928 00:49:36,560 --> 00:49:40,560 ดังนั้นเราจึงไม่ได้ทำ กับชั้นนี้ 929 00:49:40,560 --> 00:49:42,030 >> ดังนั้นจำนี้เป็นเหมือนการเรียนในขณะนี้ 930 00:49:42,030 --> 00:49:47,160 มันสามารถจะคิดว่าเป็นประเภทเดียว เป็น UIViewController เป็นชนิด 931 00:49:47,160 --> 00:49:51,080 และเพื่อที่จะใช้สิ่งที่ เราต้องทำคือนำเข้า - 932 00:49:51,080 --> 00:49:52,520 ViewController นำเข้า - 933 00:49:52,520 --> 00:49:55,750 และเป็นคุณสามารถเห็นมัน autofills นั้นสำหรับฉัน 934 00:49:55,750 --> 00:49:56,570 ดังนั้น ViewController - 935 00:49:56,570 --> 00:50:02,070 และตอนนี้ที่นี่ฉันสามารถเปลี่ยนแปลงได้ UIViewController ไป ViewController 936 00:50:02,070 --> 00:50:05,050 และตอนนี้ที่นี่ฉันจะเปลี่ยน นี้เพื่อ ViewController 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> ขอใช้นี้อีกครั้ง 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 ก็ยังคงเป็นสีแดง 941 00:50:19,690 --> 00:50:23,370 และเหตุผลที่ว่าทำไมมัน ยังคงเป็นเพราะสีแดง - 942 00:50:23,370 --> 00:50:26,230 woah สิ่งที่เกิดขึ้นที่นั่น 943 00:50:26,230 --> 00:50:31,500 เราต้องการที่จะเชื่อมโยง xib นี้ ไฟล์ที่มีการควบคุมมุมมอง 944 00:50:31,500 --> 00:50:37,540 แต่เพื่อที่จะทำจริง ที่เราต้องเข้าไปนี้ 945 00:50:37,540 --> 00:50:42,980 และเมื่อเราทำ init ที่เราต้องการจะทำ initWithNibName แล้วเราต้องการที่จะ 946 00:50:42,980 --> 00:50:48,910 ทำที่สตริง 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 >> และเพื่อให้มีปัญหาเพราะใน แฟ้ม xib มุมมองของเราเรามีฉลากและ 954 00:51:17,670 --> 00:51:18,720 เรามีปุ่ม 955 00:51:18,720 --> 00:51:23,660 อย่างไรก็ตามแม้ว่าเราได้เชื่อมต่อ ทั้งสองมีอะไรอยู่ภายใน 956 00:51:23,660 --> 00:51:27,440 ViewController.h หรือ ViewController.m ที่สะท้อนให้เห็นถึงผู้ที่ 957 00:51:27,440 --> 00:51:29,160 ปุ่มหรือป้ายชื่อเหล่านั้น 958 00:51:29,160 --> 00:51:32,425 ดังนั้นเราจะต้องเขียนเป็นผู้ที่อยู่ใน คุณสมบัติของตัวควบคุมมุมมอง 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> ดังนั้นนี้เป็นวิธีการที่คุณประกาศ สถานที่ให้บริการ 961 00:51:39,490 --> 00:51:43,422 มันใช้เวลาในปกติ ทั้งสองตัวเลือก 962 00:51:43,422 --> 00:51:48,690 สำหรับวัตถุประสงค์ของเราและการสัมมนานี้ ฉันจะบอกว่าโดยทั่วไป 963 00:51:48,690 --> 00:51:52,250 คุณสมบัติส่วนใหญ่จะ nonatomic และรักษา 964 00:51:52,250 --> 00:51:55,420 คุณสามารถอ่านได้โดยการค้นหา คุณทราบความแตกต่างระหว่าง 965 00:51:55,420 --> 00:51:58,620 nonatomic และรักษากับคุณ รู้ Google หรือบางสิ่งบางอย่าง 966 00:51:58,620 --> 00:52:01,090 และผมจะพาคุณไปเช่นเดียวกับกอง มากเกินที่คนจะมี 967 00:52:01,090 --> 00:52:03,605 คำตอบสำหรับความแตกต่าง ระหว่างผู้ 968 00:52:03,605 --> 00:52:07,000 แต่ตอนนี้ว่าเป็นสิ่งที่เรา ต้องการที่จะเกี่ยวข้องกับ 969 00:52:07,000 --> 00:52:12,790 >> และเราต้องการที่จะทำให้ป้าย UI, ดาว, และเราสามารถเรียกมันว่าสิ่งที่เราต้องการ 970 00:52:12,790 --> 00:52:15,710 เราสามารถเรียกสิ่งนี้คุณรู้ว่าป้าย 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 และเราจะสร้างอีก หนึ่งสำหรับปุ่ม 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 และอย่าลืมที่จะรวมเครื่องหมายดอกจัน, เพราะเราจะจัดการกับตัวชี้ 975 00:52:29,910 --> 00:52:36,740 สวยมากทุกที่ภายใน ของวัตถุประสงค์ 976 00:52:36,740 --> 00:52:42,110 >> แต่ที่จะยังคงไม่แก้ ปัญหาตามที่คุณสามารถดูที่นี่ 977 00:52:42,110 --> 00:52:50,540 และเหตุผลเป็นเพราะเมื่อใดก็ตามที่เรา ต้องการเชื่อมต่อป้ายแฟ้ม xib หรือ 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 อ้างอิงทางออกให้กับเจ้าของไฟล์ของฉัน แล้วคลิกที่ป้าย 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 Uh โธ่ 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 และ init-ing มันแล้วทำ 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 และฉันได้ตั้งค่าภาพเคลื่อนไหวเพื่อใช่, เพราะตอนนี้ภายในของ app ของฉันและฉัน 1039 00:56:39,750 --> 00:56:45,670 ต้องการที่จะเห็นการเคลื่อนไหวของจริงไป จากหน้าแรกไปที่ตาราง 1040 00:56:45,670 --> 00:56:46,920 ควบคุมดู 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> ผู้ชม: คุณยังคงกังวล เกี่ยวกับการเก็บขยะ? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: มีอะไรที่ 1044 00:56:51,840 --> 00:56:54,740 เลขที่ 1045 00:56:54,740 --> 00:56:58,970 ดังนั้นคำถามที่คุณมี ในการทำงานกับการเก็บขยะ? 1046 00:56:58,970 --> 00:57:03,470 ดังนั้น Xcode 4 มีเช่น ARC ซึ่งเป็น นับการอ้างอิงโดยอัตโนมัติ 1047 00:57:03,470 --> 00:57:06,120 และอื่น ๆ โดยปกติเมื่อคุณเริ่มต้นใหม่ โครงการคุณจะตรวจสอบว่าเพราะ 1048 00:57:06,120 --> 00:57:09,440 ไม่มีใครจริงๆต้องการที่จะจัดการกับ หน่วยความจำและสิ่งที่พ้น 1049 00:57:09,440 --> 00:57:13,720 แต่ผมคิดว่าใน Xcode 5 มีไม่ได้ ตัวเลือกในโครงการใหม่ที่ 1050 00:57:13,720 --> 00:57:16,750 ดังนั้นมันจะ ไม่ว่าสำหรับคุณ 1051 00:57:16,750 --> 00:57:16,920 ใช่? 1052 00:57:16,920 --> 00:57:20,970 >> ผู้ชม: คุณสามารถส่งออก PDF ในกระดานของคุณหรือไม่ 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: Oh yeah 1060 00:57:39,160 --> 00:57:41,980 ผมคิดว่าบางทีคุณก็สามารถ ภาพหน้าจอ 1061 00:57:41,980 --> 00:57:44,350 ใช่และส่งพวกเขาที่หน้าจอ ยิงหรือสิ่งที่ 1062 00:57:44,350 --> 00:57:45,600 ใช่ 1063 00:57:45,600 --> 00:57:49,170 1064 00:57:49,170 --> 00:57:50,570 >> ดังนั้นเรามาดู 1065 00:57:50,570 --> 00:57:56,470 ในความสนใจของเวลาที่ฉันคิดว่า ที่ลิตรสามารถครอบคลุมทั้งหมดในวันนี้ 1066 00:57:56,470 --> 00:57:59,600 แต่ฉันรู้ว่าเป็นจริงเพียงแค่ แทบจะไม่ได้สัมผัสพื้นผิวของ iOS 1067 00:57:59,600 --> 00:58:00,370 พัฒนาการ 1068 00:58:00,370 --> 00:58:05,630 ดังนั้นโปรดอย่าลังเลที่จะติดต่อฉันหาก คุณมีคำถามใด ๆ เกี่ยวกับ iOS 1069 00:58:05,630 --> 00:58:07,000 พัฒนาการ 1070 00:58:07,000 --> 00:58:12,840 และหวังว่าฉันจะสามารถที่จะทำความสะอาด ขึ้นบางส่วนของรหัสแหล่งที่มา 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