1 00:00:00,000 --> 00:00:07,880 2 00:00:07,880 --> 00:00:09,800 >> RHED SHI: Chào mừng bạn đến thấy hội thảo CS50 - 3 00:00:09,800 --> 00:00:11,630 Giới thiệu về iOS. 4 00:00:11,630 --> 00:00:13,290 Cảm ơn tất cả các bạn đã đến. 5 00:00:13,290 --> 00:00:16,610 Tôi hy vọng bạn chỉ là vui mừng như tôi về iOS. 6 00:00:16,610 --> 00:00:22,300 Năm ngoái, tôi đã CS50 là một sinh viên năm hai, và tôi về cơ bản đã học iOS cho tôi 7 00:00:22,300 --> 00:00:23,490 dự án cuối cùng. 8 00:00:23,490 --> 00:00:26,350 Và nó đã được khá - 9 00:00:26,350 --> 00:00:30,530 tốt, thật không dễ dàng, nhưng có rất nhiều hướng dẫn hỗ trợ trực tuyến. 10 00:00:30,530 --> 00:00:33,760 Và tôi thực sự hy vọng rằng với điều này hội thảo, tôi sẽ cho các bạn một cái đầu 11 00:00:33,760 --> 00:00:36,750 bắt đầu phát triển iOS 12 00:00:36,750 --> 00:00:40,490 >> Vì vậy, về phát triển iOS, có hai điều chính chúng tôi 13 00:00:40,490 --> 00:00:42,090 muốn nói đến hôm nay. 14 00:00:42,090 --> 00:00:43,290 Đầu tiên, ngôn ngữ - 15 00:00:43,290 --> 00:00:46,650 ngôn ngữ là có được trong Objective-C. Chúng tôi sẽ thực sự nghe 16 00:00:46,650 --> 00:00:47,750 một cái gì đó thực sự thú vị. 17 00:00:47,750 --> 00:00:51,500 Vì vậy, bạn có thể tham gia toàn bộ của Apple cộng đồng các nhà phát triển và xây dựng một số 18 00:00:51,500 --> 00:00:52,940 ứng dụng thực sự tuyệt vời. 19 00:00:52,940 --> 00:00:58,670 >> Ngoài ra, iOS 7 là đẹp, hy vọng, để một số bạn. 20 00:00:58,670 --> 00:01:01,130 Nhưng nó gây tranh cãi, tôi biết. 21 00:01:01,130 --> 00:01:05,349 Và chủ yếu, những gì tôi muốn làm là hướng dẫn bạn qua Objective-C, và cũng 22 00:01:05,349 --> 00:01:10,650 Xcode, đó là tích hợp môi trường phát triển mà bạn sẽ có 23 00:01:10,650 --> 00:01:13,460 làm việc trong cho iOS. 24 00:01:13,460 --> 00:01:19,140 >> Và như vậy, chỉ là một từ trên Objective-C. Về cơ bản, đó là chính xác giống như C, 25 00:01:19,140 --> 00:01:22,790 nhưng với rất nhiều những thứ khác. 26 00:01:22,790 --> 00:01:27,710 Và như vậy, đúng hơn, nó thực sự là một siêu thiết lập của C. Vì vậy, bất cứ điều gì mà bạn 27 00:01:27,710 --> 00:01:32,280 có thể làm trong C ngay bây giờ, đó là về cơ bản thích pset 0 đến 6, bạn 28 00:01:32,280 --> 00:01:34,170 có thể làm trong Objective-C. 29 00:01:34,170 --> 00:01:38,620 >> Vì vậy, không cảm thấy sợ hãi về mới này ngôn ngữ mà bạn đang đi học. 30 00:01:38,620 --> 00:01:42,120 Bạn đã được rất nhiều của nó, bởi vì bạn đã thực hiện tất cả C vừa qua 31 00:01:42,120 --> 00:01:45,880 học kỳ, ngoại trừ bây giờ bạn đang đi có nhiều hơn để làm việc với. 32 00:01:45,880 --> 00:01:49,270 Và tôi chỉ cần đi để dẫn bạn thông qua một vài ví dụ để làm nổi bật một số 33 00:01:49,270 --> 00:01:53,920 trong những khác biệt quan trọng mà tôi tìm thấy là khi thực sự quan trọng mà tôi học được 34 00:01:53,920 --> 00:01:57,180 Objective-C năm ngoái. 35 00:01:57,180 --> 00:02:00,910 >> Vâng thực sự, vì vậy, điểm khác là, Objective-C là, rõ ràng, 36 00:02:00,910 --> 00:02:02,200 hướng đối tượng. 37 00:02:02,200 --> 00:02:06,340 Và chúng tôi sẽ thảo luận về một chút về những gì có nghĩa là sau đó. 38 00:02:06,340 --> 00:02:11,340 Về cơ bản, nó giống như cách bạn làm việc với cấu trúc trong pset vừa qua, với 39 00:02:11,340 --> 00:02:13,360 các nút và tương tự khác những điều như thế. 40 00:02:13,360 --> 00:02:17,110 Ngoại trừ, trong Objective-C, tất cả mọi thứ là một đối tượng, và bạn sẽ được 41 00:02:17,110 --> 00:02:20,720 đi ngang qua con trỏ đến đối tượng chứ không phải là giá trị bản thân. 42 00:02:20,720 --> 00:02:25,050 Vì vậy, nó chỉ là một cái gì đó quan trọng để ghi nhớ. 43 00:02:25,050 --> 00:02:29,140 >> Vì vậy, tại sao chúng ta không bắt đầu với một vài sự khác biệt về cú pháp giữa C và 44 00:02:29,140 --> 00:02:30,540 Objective-C? 45 00:02:30,540 --> 00:02:38,310 Tôi muốn làm nổi bật bao gồm #, bạn biết, io.h chuẩn trong C và C + +, với 46 00:02:38,310 --> 00:02:44,030 phiên bản C-Mục tiêu đó, mà # là nhập khẩu, và sau đó một số loại 47 00:02:44,030 --> 00:02:44,790 tập tin tiêu đề. 48 00:02:44,790 --> 00:02:48,165 Trong trường hợp này, nó sẽ là UIKit, bạn biết, dấu gạch chéo UIKit.h. 49 00:02:48,165 --> 00:02:53,560 Nó cũng có thể, bạn đã biết, MKMapview để bạn cắt giảm MKMapview.h nếu bạn muốn 50 00:02:53,560 --> 00:02:56,370 để làm, như, một bản đồ bên trong ứng dụng của bạn. 51 00:02:56,370 --> 00:02:57,110 Những điều tương tự như thế. 52 00:02:57,110 --> 00:03:01,250 >> Vì vậy, điều quan trọng là bao gồm bây giờ đã thay đổi để nhập khẩu. 53 00:03:01,250 --> 00:03:04,340 Nhưng ý tưởng vẫn còn. 54 00:03:04,340 --> 00:03:10,460 Bạn sẽ phải nhập khẩu một số loại của phần đầu tập tin vào chương trình của bạn. 55 00:03:10,460 --> 00:03:14,550 >> Tôi cũng muốn làm nổi bật sự khác biệt giữa printf và NSLog. 56 00:03:14,550 --> 00:03:19,760 Tuy nhiên, như chúng tôi đã nói trước đó, Objective-C là một siêu nghiêm ngặt bộ 57 00:03:19,760 --> 00:03:22,800 C, có nghĩa là printf tồn tại Objective-C, quá. 58 00:03:22,800 --> 00:03:24,340 Nhưng, hầu hết mọi người không sử dụng. 59 00:03:24,340 --> 00:03:28,245 Hầu hết mọi người sử dụng NSLog này bởi vì nó cung cấp cho bạn một tem thời gian, và chúng ta sẽ thấy 60 00:03:28,245 --> 00:03:29,780 nó trong hành động sau đó. 61 00:03:29,780 --> 00:03:33,560 Tuy nhiên, nó thường là một hữu ích hơn cách nào để in ra các biến. 62 00:03:33,560 --> 00:03:38,220 >> Và tôi cũng muốn nhấn mạnh rằng NSLog mất chỉ trong cùng một 63 00:03:38,220 --> 00:03:41,650 giá trị giữ chỗ như printf không - 64 00:03:41,650 --> 00:03:45,900 vì vậy% d là một int, % F là cho một phao. 65 00:03:45,900 --> 00:03:49,750 Tuy nhiên, tôi muốn nhấn mạnh một cuối cùng này - 66 00:03:49,750 --> 00:03:52,960 NSLog% lúc đăng nhập - 67 00:03:52,960 --> 00:03:55,390 đó là một giữ chỗ cho một đối tượng. 68 00:03:55,390 --> 00:04:01,160 Và như tôi đã nói trước đó, giao dịch Objective-C khá nhiều chủ yếu ở các đối tượng, 69 00:04:01,160 --> 00:04:05,020 và vì vậy điều này sẽ được sử dụng khi bạn muốn in ra, có lẽ, có thể là một 70 00:04:05,020 --> 00:04:08,390 NSArray, hoặc NSDictionary, hoặc một NSString. 71 00:04:08,390 --> 00:04:13,750 >> Vì vậy, cũng nhận thấy rằng, trong NSLog của chúng tôi tuyên bố, chúng ta có một dấu hiệu ở phía trước 72 00:04:13,750 --> 00:04:15,380 của báo giá - 73 00:04:15,380 --> 00:04:20,769 đó là để biểu thị chuỗi, bây giờ, Objective-C là các đối tượng. 74 00:04:20,769 --> 00:04:23,310 Họ không còn chỉ đơn giản là sao char. 75 00:04:23,310 --> 00:04:25,530 Họ đối tượng và đối xử như vậy. 76 00:04:25,530 --> 00:04:28,690 >> Vì vậy, nó thực sự quan trọng là khi bạn sử dụng NSLog phải mất trong một NS 77 00:04:28,690 --> 00:04:32,580 chuỗi, có nghĩa là bạn sẽ phải bao gồm một ở phía trước của bạn 78 00:04:32,580 --> 00:04:34,270 dấu ngoặc kép. 79 00:04:34,270 --> 00:04:38,290 Và đó là lý do tại sao bạn thấy, ở đây, trong tất cả các chức năng của tôi để gọi NSLog này, tôi 80 00:04:38,290 --> 00:04:42,400 có một lúc ở phía trước của báo giá, thậm chí mặc dù% d và% f là 81 00:04:42,400 --> 00:04:45,200 tất cả như nhau từ C. 82 00:04:45,200 --> 00:04:47,930 >> Bất kỳ câu hỏi cho đến nay? 83 00:04:47,930 --> 00:04:50,920 Tôi sẽ cố gắng đi qua này một cách nhanh chóng như vậy chúng tôi có thể có thêm thời gian để làm việc 84 00:04:50,920 --> 00:04:55,210 với Xcode và Objective-C, do đó, mà các bạn có thể nhận được nhiều hơn 85 00:04:55,210 --> 00:04:57,630 quen thuộc với nó. 86 00:04:57,630 --> 00:05:01,900 >> Tiếp theo, tôi muốn nhấn mạnh một cái gì đó khái niệm quan trọng. 87 00:05:01,900 --> 00:05:05,130 Vì vậy, trong C, hầu hết mọi thứ là chức năng. 88 00:05:05,130 --> 00:05:06,280 Chúng tôi thực hiện cuộc gọi chức năng. 89 00:05:06,280 --> 00:05:10,190 Chúng ta khai báo các chức năng theo cách này, với sự trở lại gõ đầu tiên, sau đó các 90 00:05:10,190 --> 00:05:13,570 tên hàm, dấu ngoặc đơn, và sau đó bất kỳ đối số và các loại 91 00:05:13,570 --> 00:05:15,590 những lập luận này, chúng tôi muốn vượt qua in 92 00:05:15,590 --> 00:05:19,970 Và Objective-C, bởi vì tất cả mọi thứ là một đối tượng hoặc lớp - 93 00:05:19,970 --> 00:05:23,970 vì vậy lớp và đối tượng là hai thuật ngữ chủ yếu là đồng nghĩa với nhau, 94 00:05:23,970 --> 00:05:28,270 vì vậy tôi có thể sử dụng chúng thay thế cho nhau trong suốt buổi hội thảo. 95 00:05:28,270 --> 00:05:34,090 >> Tuy nhiên, bạn sẽ thấy rằng chúng tôi có phương pháp trong Objective-C chứ không phải là chức năng. 96 00:05:34,090 --> 00:05:36,390 Và phương pháp thuộc về các đối tượng. 97 00:05:36,390 --> 00:05:38,950 Vì vậy, cũng giống như, có thể mất ví dụ, nút - 98 00:05:38,950 --> 00:05:40,250 loại của chúng tôi [không nghe được] 99 00:05:40,250 --> 00:05:44,390 nút từ pset 6 hoặc 5 - 100 00:05:44,390 --> 00:05:49,590 chúng tôi có các văn bản, tài sản, hoặc nút con trỏ tới. 101 00:05:49,590 --> 00:05:53,880 Phương pháp chỉ đơn giản là chức năng bên trong của một số loại cấu trúc. 102 00:05:53,880 --> 00:05:57,510 >> Vì vậy, trong trường hợp này, cấu trúc sẽ là các đối tượng, và sau đó phương pháp này là 103 00:05:57,510 --> 00:05:59,260 một cái gì đó thuộc về một đối tượng. 104 00:05:59,260 --> 00:06:02,650 Và đây là cách bạn sẽ tuyên bố, loại, một phương pháp. 105 00:06:02,650 --> 00:06:07,990 Bạn sẽ bắt đầu với, một lần nữa, sự trở lại loại - như vậy, tôi đã cố gắng để màu 106 00:06:07,990 --> 00:06:12,990 mã các từ khóa ở đây để các bạn có thể nhìn thấy, ít nhất, định dạng 107 00:06:12,990 --> 00:06:17,650 tương đồng giữa chức năng tờ khai và khai báo phương thức. 108 00:06:17,650 --> 00:06:21,990 Vì vậy, bạn bắt đầu, bạn đã biết, trở lại loại - trong trường hợp này, nó là một mảng, hoặc 109 00:06:21,990 --> 00:06:23,910 một con trỏ NSArray - 110 00:06:23,910 --> 00:06:26,710 và sau đó bạn có phương pháp này. 111 00:06:26,710 --> 00:06:30,900 Và sau đó, những gì thú vị ở đây là là thay vì có dấu ngoặc đơn, chúng tôi 112 00:06:30,900 --> 00:06:32,900 có những dấu hai chấm. 113 00:06:32,900 --> 00:06:38,450 Và sau đó, ở phía trước của các đối số của chúng tôi, chúng tôi đặt, một lần nữa, trong dấu ngoặc đơn các loại 114 00:06:38,450 --> 00:06:39,370 lập luận của chúng tôi. 115 00:06:39,370 --> 00:06:43,160 >> Vì vậy, ngay bây giờ tôi đang cố gắng để làm cho so sánh giữa, bạn biết đấy, n và 116 00:06:43,160 --> 00:06:45,450 số lượng, bởi vì chúng cả hai ints như thế nào. 117 00:06:45,450 --> 00:06:49,580 Và sau đó, một trong những khác là một loại NSUInteger. 118 00:06:49,580 --> 00:06:56,390 Và sau đó, với Objective-C, khi bạn muốn có nhiều tranh luận trong 119 00:06:56,390 --> 00:07:00,030 khoản của bạn phương pháp, bạn, loại, tách chúng ra loại như thế này - 120 00:07:00,030 --> 00:07:03,790 Tôi không hoàn toàn chắc chắn làm thế nào để mô tả nó, nhưng đây là một ví dụ tốt về bạn 121 00:07:03,790 --> 00:07:06,530 có thể có nhiều tranh luận trong đó. 122 00:07:06,530 --> 00:07:10,360 >> Bạn có thể, tất nhiên, chỉ hoàn toàn bỏ qua đại tràng andArray NSArray 123 00:07:10,360 --> 00:07:13,240 mảng nếu bạn muốn chỉ là một phương pháp mà mất trong một cuộc tranh luận. 124 00:07:13,240 --> 00:07:13,677 Vâng, câu hỏi. 125 00:07:13,677 --> 00:07:18,701 >> ĐỐI TƯỢNG: Có cả NSUInteger và NSArray đối số có thể được thực hiện trong 126 00:07:18,701 --> 00:07:21,530 trong NSArray? 127 00:07:21,530 --> 00:07:22,060 >> RHED SHI: Có. 128 00:07:22,060 --> 00:07:23,400 Vì vậy, hãy để tôi giải thích. 129 00:07:23,400 --> 00:07:23,790 Vì vậy, có. 130 00:07:23,790 --> 00:07:30,260 Vì vậy, câu hỏi là là NSUInteger và NSArray * loại các đối số, 131 00:07:30,260 --> 00:07:31,570 và đó là chính xác. 132 00:07:31,570 --> 00:07:35,700 Vì vậy, bạn luôn luôn muốn xác định những gì các loại lập luận của bạn. 133 00:07:35,700 --> 00:07:41,570 Và ở đây, tôi đang cố gắng để giới thiệu cho bạn để một số cú pháp và vocab của 134 00:07:41,570 --> 00:07:45,910 Objective-C, do đó, những các loại thực tế rằng bạn sẽ được xử lý. 135 00:07:45,910 --> 00:07:48,970 >> Và như bạn sẽ nhận thấy, mảng không còn, loại, 136 00:07:48,970 --> 00:07:50,780 điều khung đơn giản. 137 00:07:50,780 --> 00:07:52,060 Họ đối tượng. 138 00:07:52,060 --> 00:07:56,700 Mặc dù, nếu chúng ta tiếp tục tiếp theo slide, chúng ta có thể thấy rằng chúng tôi có thể 139 00:07:56,700 --> 00:08:02,510 cứng mã một NSArray trong Objective-C với chỉ đơn giản là một biểu tượng ở phía trước 140 00:08:02,510 --> 00:08:04,190 các dấu ngoặc đơn. 141 00:08:04,190 --> 00:08:08,650 Tôi không, trên thực tế, khá chắc chắn liệu Tôi cú pháp mã hóa cứng một mảng 142 00:08:08,650 --> 00:08:16,020 một cách chính xác cho các phiên bản C, nhưng đó là nghĩa vụ phải được trong một mảng C. 143 00:08:16,020 --> 00:08:19,760 >> Vì vậy, đây là cách bạn sẽ, bạn đã biết, có lẽ sử dụng những chức năng hay 144 00:08:19,760 --> 00:08:21,990 phương pháp mà chúng tôi tạo ra trước đó. 145 00:08:21,990 --> 00:08:22,250 Phải không? 146 00:08:22,250 --> 00:08:25,340 Vì vậy, đây là nơi mà chúng ta khai báo của chúng tôi chức năng và phương pháp của chúng tôi. 147 00:08:25,340 --> 00:08:28,020 Và bây giờ chúng tôi muốn sử dụng chúng trong chương trình của chúng tôi, và đây là 148 00:08:28,020 --> 00:08:29,450 cách chúng tôi sẽ làm điều đó. 149 00:08:29,450 --> 00:08:32,400 Vì vậy, trong C, bạn sẽ có, bạn đã biết, có lẽ, một bool b, và bạn đặt nó vào 150 00:08:32,400 --> 00:08:36,549 bằng chức năng, và sau đó bạn vượt qua trong các đối số. 151 00:08:36,549 --> 00:08:39,190 >> Objective-C, nó đẹp nhiều điều tương tự. 152 00:08:39,190 --> 00:08:43,370 Bạn có NSArray * my_array, và nó sẽ bằng - bây giờ, chỉ 153 00:08:43,370 --> 00:08:47,460 khác biệt ở đây là điều đối tượng này, mà tôi đã đánh dấu màu vàng, và 154 00:08:47,460 --> 00:08:51,180 như bạn có thể thấy, trong C, có không có chữ màu vàng khác. 155 00:08:51,180 --> 00:08:54,170 Và đó là bởi vì phương pháp thuộc với một đối tượng nhất định. 156 00:08:54,170 --> 00:08:59,800 Vì vậy, đó là lý do tại sao tôi cần phải có một đối tượng rằng, loại, gọi phương pháp này trên 157 00:08:59,800 --> 00:09:04,360 số không, và sau đó các NSArray a, b, c, d. 158 00:09:04,360 --> 00:09:05,350 Bất kỳ câu hỏi về điều đó? 159 00:09:05,350 --> 00:09:12,190 >> Chúng ta sẽ thấy những khái niệm trong hành động khá sớm khi chúng tôi đi vào một bản demo. 160 00:09:12,190 --> 00:09:13,400 OK. 161 00:09:13,400 --> 00:09:17,170 Bây giờ, tôi muốn nói một chút thời gian ngắn về Xcode 5, đó là 162 00:09:17,170 --> 00:09:21,160 môi trường phát triển tích hợp mà bạn sẽ làm việc với. 163 00:09:21,160 --> 00:09:26,160 Tôi biết rất nhiều bạn, hoặc một số bạn, không có máy Mac, mà là một vấn đề 164 00:09:26,160 --> 00:09:30,490 vì Xcode là không có sẵn cho Windows và PC. 165 00:09:30,490 --> 00:09:32,785 Đừng hỏi tôi tại sao, nhưng có lẽ - 166 00:09:32,785 --> 00:09:33,730 yeah, công ty. 167 00:09:33,730 --> 00:09:35,290 Bất cứ điều gì. 168 00:09:35,290 --> 00:09:39,360 Nhưng dù sao, vì vậy, tôi xin lỗi nếu một số bạn phải tải về một số loại 169 00:09:39,360 --> 00:09:43,000 máy ảo cho Mac trong Để chạy Xcode 5. 170 00:09:43,000 --> 00:09:46,460 Nhưng nó là một tiện lợi khá phần mềm để sử dụng. 171 00:09:46,460 --> 00:09:51,280 >> Và vì vậy, trước khi chúng ta đi sâu vào bất kỳ loại của bản demo, tôi chỉ muốn cho bạn thấy một 172 00:09:51,280 --> 00:09:55,700 hình ảnh của những gì trông giống như trong Xcode của bạn cửa sổ, và sau đó cũng nói về 173 00:09:55,700 --> 00:09:57,670 những gì toàn bộ không gian này là. 174 00:09:57,670 --> 00:10:01,600 Vì vậy, nó là loại giống như học cách sử dụng Microsoft Word, ngoại trừ bạn muốn 175 00:10:01,600 --> 00:10:04,675 làm quen với tất cả các điều khác nhau mà 176 00:10:04,675 --> 00:10:06,250 đang xảy ra ở đây. 177 00:10:06,250 --> 00:10:11,160 >> Vì vậy, đầu tiên, tôi muốn chỉ cho bạn vào thanh công cụ ở đầu trang. 178 00:10:11,160 --> 00:10:14,450 Bạn sẽ thấy rằng, ở đầu trang, bạn sẽ có tên tập tin - 179 00:10:14,450 --> 00:10:18,100 hay, trên thực tế, tên dự án của bạn và sau đó tên tập tin của bạn. 180 00:10:18,100 --> 00:10:20,940 Lưu ý các điểm vui chơi và các nút dừng. 181 00:10:20,940 --> 00:10:24,210 Đó là những người mà bạn sẽ có sử dụng để chạy ứng dụng của bạn trên 182 00:10:24,210 --> 00:10:25,600 mô phỏng - 183 00:10:25,600 --> 00:10:26,550 giả lập iOS. 184 00:10:26,550 --> 00:10:29,940 Điều này tự động đi kèm với Xcode 5, vì vậy bạn không phải lo lắng về 185 00:10:29,940 --> 00:10:32,070 tải về một số loại mô phỏng. 186 00:10:32,070 --> 00:10:34,700 Bạn chỉ cần bấm chơi và sau đó nó chạy ứng dụng của bạn. 187 00:10:34,700 --> 00:10:39,230 Và bạn có thể chơi xung quanh với bạn, và bạn sẽ thấy cách nó hoạt động sau đó. 188 00:10:39,230 --> 00:10:42,690 >> Và sau đó, ở trung tâm, tất nhiên, là nơi tất cả các mã đẹp của bạn là 189 00:10:42,690 --> 00:10:44,240 sẽ đi. 190 00:10:44,240 --> 00:10:48,340 Và sau đó, ở phía bên tay trái, bạn sẽ có điều này, loại, thư mục - 191 00:10:48,340 --> 00:10:50,340 chuyển hướng - 192 00:10:50,340 --> 00:10:53,970 và sau đó, bạn cũng sẽ thấy rằng, cùng với các biểu tượng thư mục, có một 193 00:10:53,970 --> 00:10:57,680 loạt các biểu tượng khác đó mà sẽ hữu ích sau. 194 00:10:57,680 --> 00:11:04,710 >> Và sau đó, ở phía bên phải là một tiện ích khu vực nơi bạn có thể làm việc với 195 00:11:04,710 --> 00:11:09,620 một số đối tượng và chỉ định, bạn biết, những gì màu sắc nên được, những gì 196 00:11:09,620 --> 00:11:12,040 font nên, vân vân. 197 00:11:12,040 --> 00:11:15,890 Mặc dù, tất cả mọi thứ mà bạn làm trong khu vực tiện ích, bạn có thể 198 00:11:15,890 --> 00:11:17,480 làm trong mã là tốt. 199 00:11:17,480 --> 00:11:21,630 Và vì vậy, tôi sẽ được đi qua hai ví dụ của việc sử dụng, đơn giản, không có mã tại 200 00:11:21,630 --> 00:11:23,730 tất cả - hoặc mã rất tối thiểu - 201 00:11:23,730 --> 00:11:28,290 câu tất cả các mã, chỉ để các bạn biết những gì bạn có thể và không thể làm trong 202 00:11:28,290 --> 00:11:29,260 Xcode và Objective-C. 203 00:11:29,260 --> 00:11:32,770 >> Và sau đó, cuối cùng, giảm ở phía dưới, bạn có diện tích gỡ lỗi. 204 00:11:32,770 --> 00:11:37,270 Vì vậy, bạn không còn phải chạy GDB, vân vân, trên chương trình của bạn. 205 00:11:37,270 --> 00:11:39,180 Nó tự động làm điều đó cho bạn. 206 00:11:39,180 --> 00:11:42,880 Và bạn cũng có thể in thứ đến khu vực này. 207 00:11:42,880 --> 00:11:46,790 Vì vậy, trên thực tế, sau đó, chúng ta sẽ đi qua mario.c, nếu các bạn vẫn còn nhớ 208 00:11:46,790 --> 00:11:49,000 rằng, trong Xcode. 209 00:11:49,000 --> 00:11:50,360 Vì vậy, nên được vui vẻ. 210 00:11:50,360 --> 00:11:55,870 >> Và sau đó, chỉ để đưa nó trở lại Objective-C, tôi muốn nhấn mạnh những gì 211 00:11:55,870 --> 00:11:57,440 bạn có thể làm với nếu phát biểu. 212 00:11:57,440 --> 00:12:03,160 Vì vậy, bạn biết, bởi vì Objective-C là một cha của C, tất cả mọi thứ bạn làm là, 213 00:12:03,160 --> 00:12:06,890 nghĩa đen, giống như C. Bạn chỉ có sự khác biệt nhỏ. 214 00:12:06,890 --> 00:12:10,810 Vì vậy, bạn sẽ nhận thấy các hình thức cho một nếu tuyên bố là vẫn như nhau - bạn có 215 00:12:10,810 --> 00:12:14,280 nếu, và sau đó bạn có các dấu ngoặc đơn với một điều kiện bên trong, và sau đó 216 00:12:14,280 --> 00:12:17,150 dấu ngoặc nhọn cho bất cứ điều gì bạn muốn làm bên trong đó. 217 00:12:17,150 --> 00:12:21,680 >> Tuy nhiên, tôi muốn đặt slide này lên ở đây, chỉ đơn giản là để minh họa rằng, 218 00:12:21,680 --> 00:12:25,680 bởi vì chúng tôi đang làm việc với các đối tượng bây giờ, chúng tôi sẽ phải sử dụng những điều này 219 00:12:25,680 --> 00:12:31,240 gọi là như thế, bằng chuỗi, là, tình cờ, một phương pháp của một 220 00:12:31,240 --> 00:12:33,710 chuỗi hoặc một đối tượng NSString. 221 00:12:33,710 --> 00:12:38,600 Vì vậy, từ, trong trường hợp này, là một NSString đối tượng, và nó có một phương pháp gọi là là 222 00:12:38,600 --> 00:12:44,150 bằng chuỗi, và sau đó chúng tôi đang đi qua trong một chuỗi mã hóa cứng để xem 223 00:12:44,150 --> 00:12:48,110 có phải đó là bằng với nhau. 224 00:12:48,110 --> 00:12:51,580 >> Bất kỳ câu hỏi cho đến nay? 225 00:12:51,580 --> 00:12:52,440 OK. 226 00:12:52,440 --> 00:12:56,190 Và, tôi muốn đi qua câu lệnh for cũng có. 227 00:12:56,190 --> 00:13:01,420 >> Vì vậy, ví dụ, nếu chúng ta muốn để lặp hơn chiều dài của một chuỗi trong C, điều này 228 00:13:01,420 --> 00:13:03,710 nên quen thuộc với bạn. 229 00:13:03,710 --> 00:13:07,840 Và, trong Objective-C, tôi muốn để làm nổi bật này, loại, 230 00:13:07,840 --> 00:13:09,235 phương pháp gọi là đếm. 231 00:13:09,235 --> 00:13:13,260 232 00:13:13,260 --> 00:13:15,550 Vâng, thực sự, hãy để tôi chỉ lấy lại đó. 233 00:13:15,550 --> 00:13:17,200 Số là một phương pháp của mảng. 234 00:13:17,200 --> 00:13:21,070 Tuy nhiên, nó đặc biệt hơn một tài sản của mảng, đó là lý do tại sao bạn 235 00:13:21,070 --> 00:13:22,380 có thể sử dụng các ký hiệu dấu chấm. 236 00:13:22,380 --> 00:13:25,870 Nhưng tôi không muốn nhận được vào quá nhiều thứ khái niệm này, tôi chỉ muốn 237 00:13:25,870 --> 00:13:30,140 để chỉ cho bạn cách điều sẽ xem xét như trong Objective-C so với C. 238 00:13:30,140 --> 00:13:35,400 >> Và cũng có thể, tôi muốn chỉ ra rằng mặc dù tôi đã sử dụng NSUInteger 239 00:13:35,400 --> 00:13:39,860 ở phía trước của tất cả của tôi của tôi trong Objective-C, bạn cũng có thể sử dụng int, vì int là 240 00:13:39,860 --> 00:13:42,290 hoàn toàn hợp lệ trong Objective-C, cũng có. 241 00:13:42,290 --> 00:13:42,475 Có? 242 00:13:42,475 --> 00:13:44,350 >> ĐỐI TƯỢNG: Là nó chỉ phong cách, hoặc là - 243 00:13:44,350 --> 00:13:44,760 >> RHED SHI: Vâng. 244 00:13:44,760 --> 00:13:46,060 Vì vậy, như bạn sẽ thấy - 245 00:13:46,060 --> 00:13:49,390 như vậy, câu hỏi là là chỉ là một vấn đề phong cách. 246 00:13:49,390 --> 00:13:54,820 Như bạn sẽ thấy, tôi có một, loại, ngôi sao dấu điều xuống ở phía dưới, và 247 00:13:54,820 --> 00:13:59,870 liên kết mà sẽ đưa bạn đến một tràn ngăn xếp hình thành, nơi ai đó giải thích 248 00:13:59,870 --> 00:14:03,640 sự khác biệt giữa một int trong NSInteger và NSUInteger. 249 00:14:03,640 --> 00:14:05,540 Và như vậy, bạn có thể đọc về điều này sau. 250 00:14:05,540 --> 00:14:07,640 Các slide sẽ được, tất nhiên, sẵn cho bạn. 251 00:14:07,640 --> 00:14:10,300 252 00:14:10,300 --> 00:14:11,280 >> Chúng ta hãy xem. 253 00:14:11,280 --> 00:14:12,150 OK, tuyệt vời. 254 00:14:12,150 --> 00:14:15,410 Vì vậy, điều này cũng được bao gồm trong slide bởi vì tôi nghĩ đây là một tuyệt vời 255 00:14:15,410 --> 00:14:19,370 trang web giới thiệu cho bạn cú pháp Objective-C. 256 00:14:19,370 --> 00:14:24,410 Vì vậy, trên thực tế, lý do tại sao chúng ta không chuyển đến Chrome và kiểm tra trang web này? 257 00:14:24,410 --> 00:14:30,650 258 00:14:30,650 --> 00:14:31,300 >> Đúng. 259 00:14:31,300 --> 00:14:36,670 Vì vậy, những gì tôi muốn chỉ cho bạn kẻ ở đây là hình ảnh này. 260 00:14:36,670 --> 00:14:41,630 Vì vậy, đây là, loại, sẽ là những gì bạn sẽ nhìn thấy bên trong của bất kỳ 261 00:14:41,630 --> 00:14:42,890 Tập tin Xcode. 262 00:14:42,890 --> 00:14:47,400 263 00:14:47,400 --> 00:14:51,430 Trên thực tế, lý do tại sao chúng ta không chỉ mất một thời gian để, loại, thực hiện việc này in 264 00:14:51,430 --> 00:14:53,470 >> Vì vậy, cuốn sách này - 265 00:14:53,470 --> 00:14:55,880 đó là đối tượng chúng tôi đang xử lý. 266 00:14:55,880 --> 00:14:59,680 Và sau đó, nó rõ ràng là sẽ có thừa hưởng từ một số đối tượng khác, nhưng 267 00:14:59,680 --> 00:15:01,810 bạn không phải lo lắng về điều đó. 268 00:15:01,810 --> 00:15:04,430 Và sau đó, nó, có lẽ, có một số biến thành viên. 269 00:15:04,430 --> 00:15:09,160 >> Điều quan trọng tôi muốn cho bạn thấy là phương pháp dụ, ở đây. 270 00:15:09,160 --> 00:15:12,670 Vì vậy, phương pháp dụ được biểu bởi dấu trừ này. 271 00:15:12,670 --> 00:15:15,550 Và sau đó, như bạn sẽ thấy, chúng tôi đã bắt đầu nhìn thấy các mô hình 272 00:15:15,550 --> 00:15:17,670 kê khai phương pháp, phải không? 273 00:15:17,670 --> 00:15:22,670 Kiểu trả về, tên phương pháp, và sau đó các loại của các đối số, và 274 00:15:22,670 --> 00:15:24,660 sau đó tên của các đối số. 275 00:15:24,660 --> 00:15:29,090 Và dấu trừ này có nghĩa là nó là một phương pháp dụ, có nghĩa là 276 00:15:29,090 --> 00:15:32,270 những phương pháp này chỉ có sẵn cho đối tượng đã được khởi tạo. 277 00:15:32,270 --> 00:15:35,050 278 00:15:35,050 --> 00:15:39,100 >> Tương phản đó, các phương pháp với một cộng đăng nhập trước mặt họ là lớp học 279 00:15:39,100 --> 00:15:43,640 phương pháp, có nghĩa là bạn có thể gọi các phương pháp này, ngay cả khi bạn không có 280 00:15:43,640 --> 00:15:45,970 một đối tượng nào được tạo. 281 00:15:45,970 --> 00:15:51,600 Vì vậy, cho một ví dụ rõ ràng, NSString là một lớp. 282 00:15:51,600 --> 00:15:55,850 Và bạn có thể gọi, ví dụ, phương thức lớp trên NSString - 283 00:15:55,850 --> 00:15:58,660 thực tế, giống như, từ NSString. 284 00:15:58,660 --> 00:16:02,050 >> Tuy nhiên, để sử dụng các phương pháp, bạn thực sự 285 00:16:02,050 --> 00:16:03,460 cần phải tạo ra một chuỗi. 286 00:16:03,460 --> 00:16:08,980 Ví dụ, chuỗi NSString sao bằng tại dấu ngoặc kép, xin chào thế giới. 287 00:16:08,980 --> 00:16:10,910 Và sau đó, bạn có thể sử dụng những phương pháp này - 288 00:16:10,910 --> 00:16:11,990 phương pháp dụ - 289 00:16:11,990 --> 00:16:14,790 trên thế giới rằng chuỗi hello. 290 00:16:14,790 --> 00:16:17,825 Vì vậy, đó là sự khác biệt giữa phương pháp dụ và phương thức lớp. 291 00:16:17,825 --> 00:16:20,390 292 00:16:20,390 --> 00:16:21,930 >> Và, chúng tôi chỉ được phần này. 293 00:16:21,930 --> 00:16:25,300 294 00:16:25,300 --> 00:16:33,750 Bất động sản là một điều mà bên trong của các đối tượng, về cơ bản. 295 00:16:33,750 --> 00:16:37,530 Và bạn khai báo với tại từ khóa bất động sản. 296 00:16:37,530 --> 00:16:39,940 Bạn có các tùy chọn này, ở đây, mà tôi sẽ giải thích sau khi 297 00:16:39,940 --> 00:16:43,110 chúng tôi đi vào một bản demo. 298 00:16:43,110 --> 00:16:43,660 Có? 299 00:16:43,660 --> 00:16:43,950 Hi. 300 00:16:43,950 --> 00:16:45,440 >> ĐỐI TƯỢNG: bạn có thể phóng to, xin vui lòng? 301 00:16:45,440 --> 00:16:46,130 >> RHED SHI: Đúng thế. 302 00:16:46,130 --> 00:16:46,560 Xin lôi. 303 00:16:46,560 --> 00:16:49,140 >> ĐỐI TƯỢNG: Cảm ơn bạn. 304 00:16:49,140 --> 00:16:50,005 >> RHED SHI: Điều đó sẽ tốt hơn rất nhiều. 305 00:16:50,005 --> 00:16:51,240 >> ĐỐI TƯỢNG: Vâng. 306 00:16:51,240 --> 00:16:53,940 Cảm ơn bạn. 307 00:16:53,940 --> 00:16:56,815 >> RHED SHI: Vâng, xin vui lòng nhắc nhở tôi nếu Tôi quên để phóng to hoặc thu nhỏ. 308 00:16:56,815 --> 00:17:00,590 309 00:17:00,590 --> 00:17:03,570 Vì vậy, đây là tất cả tôi muốn cho bạn cho - 310 00:17:03,570 --> 00:17:05,970 whoa, đó là rất nhiều - 311 00:17:05,970 --> 00:17:06,790 cho trang web này. 312 00:17:06,790 --> 00:17:12,210 Vì vậy, chúng ta hãy quay trở lại slide của chúng tôi. 313 00:17:12,210 --> 00:17:17,819 >> Trên thực tế, bây giờ chúng ta hãy dành một chút thời để nhảy vào một bản demo. 314 00:17:17,819 --> 00:17:25,490 Vì vậy, chúng tôi sẽ bắt đầu với một dự án Xcode mới. 315 00:17:25,490 --> 00:17:33,040 Vì vậy, nếu bạn sẽ mở ra Xcode trên tất cả các máy của bạn, nó sẽ đưa bạn một số 316 00:17:33,040 --> 00:17:36,720 trang mà nó nói, như, hoặc mở lập một dự án hiện có hoặc mới 317 00:17:36,720 --> 00:17:39,230 dự án, và bạn nên nhấp vào một dự án mới. 318 00:17:39,230 --> 00:17:41,477 Và sau đó, nó phải mất bạn màn hình này. 319 00:17:41,477 --> 00:17:41,593 Có? 320 00:17:41,593 --> 00:17:44,279 >> ĐỐI TƯỢNG: Nếu chúng ta không có một máy Mac, Chúng ta chỉ cần loại thư giãn? 321 00:17:44,279 --> 00:17:46,870 >> RHED SHI: Hoặc nhìn với một ai đó, yeah. 322 00:17:46,870 --> 00:17:47,740 Yeah. 323 00:17:47,740 --> 00:17:50,660 Bạn có thể thư giãn, quá. 324 00:17:50,660 --> 00:17:51,570 OK. 325 00:17:51,570 --> 00:17:55,410 >> Vì vậy, những gì chúng ta sẽ làm đầu tiên, bây giờ, là, trên thực tế, chúng ta sẽ làm một 326 00:17:55,410 --> 00:17:56,600 ứng dụng xem duy nhất. 327 00:17:56,600 --> 00:18:01,340 Vì vậy, nếu bạn sẽ nhận thấy, những gì tuyệt vời về Xcode và hỗ trợ của Apple cho 328 00:18:01,340 --> 00:18:05,690 phát triển là bạn có rất nhiều các mẫu để làm việc với đã. 329 00:18:05,690 --> 00:18:09,210 Bạn có thể, ví dụ, làm cho một ứng dụng master-chi tiết. 330 00:18:09,210 --> 00:18:10,920 Bạn có thể làm cho một trò chơi - 331 00:18:10,920 --> 00:18:13,860 và thực sự, tôi sẽ không đi vào trò chơi, bởi vì trò chơi là một câu chuyện khác nhau 332 00:18:13,860 --> 00:18:15,320 phát triển iOS. 333 00:18:15,320 --> 00:18:18,930 Và họ đang loại riêng biệt, vì vậy tôi sẽ không đi vào đó. 334 00:18:18,930 --> 00:18:22,580 >> Sau đó, bạn đã trang dựa trên các ứng dụng. 335 00:18:22,580 --> 00:18:24,010 Bạn có một ứng dụng tab - 336 00:18:24,010 --> 00:18:29,350 rất thích, ví dụ, Bank of America có thể có, như là một ứng dụng web theo thẻ. 337 00:18:29,350 --> 00:18:32,140 Đó là những nơi mà bạn có các nút ở phía dưới. 338 00:18:32,140 --> 00:18:34,750 Và sau đó, bạn có một trò chơi Kit Sprite. 339 00:18:34,750 --> 00:18:38,670 >> Hoặc bạn có thể làm việc từ đầu, mà là những gì chúng tôi sẽ làm sau. 340 00:18:38,670 --> 00:18:42,470 Nhưng chúng ta hãy, đầu tiên, bắt đầu với một ứng dụng xem duy nhất. 341 00:18:42,470 --> 00:18:48,590 Sau đó, nó sẽ yêu cầu một tên sản phẩm, và chúng tôi chỉ có thể làm bài kiểm tra. 342 00:18:48,590 --> 00:18:50,190 Tên tổ chức - 343 00:18:50,190 --> 00:18:54,140 như vậy, tên tổ chức, định danh công ty - 344 00:18:54,140 --> 00:18:58,100 đó là quan trọng nếu bạn đang đi đưa ứng dụng của bạn trên cửa hàng ứng dụng. 345 00:18:58,100 --> 00:19:01,110 346 00:19:01,110 --> 00:19:05,116 Ngoài ra, mã của bạn sẽ chạy hoàn toàn tốt mà không có điều này. 347 00:19:05,116 --> 00:19:09,940 >> Điều này sẽ rất quan trọng nếu bạn muốn - vì vậy, mỗi gia nhập, như, đưa ứng dụng của bạn 348 00:19:09,940 --> 00:19:14,080 vào điện thoại hoặc một cái gì đó của bạn, và thử nghiệm nó ra, bạn biết đấy, trong cuộc sống thực - 349 00:19:14,080 --> 00:19:15,360 điều này sẽ rất quan trọng. 350 00:19:15,360 --> 00:19:20,110 Điều này có xu hướng thường được liên kết với một số loại tài khoản nhà phát triển 351 00:19:20,110 --> 00:19:20,970 với Apple. 352 00:19:20,970 --> 00:19:24,740 >> Và như vậy, tôi biết, có lẽ, rất nhiều bạn sẽ không có bất kỳ tài khoản nhà phát triển. 353 00:19:24,740 --> 00:19:26,460 Tôi biết các trường đại học có một. 354 00:19:26,460 --> 00:19:27,630 Tôi nghĩ rằng CS có một. 355 00:19:27,630 --> 00:19:32,770 Tuy nhiên, bạn có thể gửi email cho tôi và tôi sẽ cố gắng để con số đó ra cho bạn. 356 00:19:32,770 --> 00:19:38,210 Nhưng ngay bây giờ, tôi đã chỉ cần đặt trong một số điều giữ chỗ ở đây. 357 00:19:38,210 --> 00:19:41,250 >> Và bạn có thể, tất nhiên, ở đây, chọn cho dù bạn muốn nó được chỉ trong 358 00:19:41,250 --> 00:19:44,410 iPhone, iPad trong, hoặc cả hai - 359 00:19:44,410 --> 00:19:46,630 ứng dụng phổ quát. 360 00:19:46,630 --> 00:19:56,170 Vì vậy, bây giờ, chúng ta hãy làm phổ quát, chỉ để xem cả hai mặt của nền tảng này. 361 00:19:56,170 --> 00:19:57,120 >> Chúng ta hãy xem. 362 00:19:57,120 --> 00:20:01,510 Vì vậy, ngay bây giờ, tôi sẽ tiết kiệm nó trong một số loại thư mục. 363 00:20:01,510 --> 00:20:04,500 Không quan trọng nơi - bạn luôn luôn có thể di chuyển nó sau này. 364 00:20:04,500 --> 00:20:09,380 Và, bây giờ, chúng tôi được đưa dự án Xcode của chúng tôi. 365 00:20:09,380 --> 00:20:12,890 Tôi sẽ không lo lắng về điều này. 366 00:20:12,890 --> 00:20:17,510 Tôi sẽ đề nghị không chạm vào bất kỳ của này, trừ khi bạn biết chính xác những gì 367 00:20:17,510 --> 00:20:18,260 bạn đang làm. 368 00:20:18,260 --> 00:20:21,750 Vì vậy, tất cả điều này, chỉ cần bỏ qua cho hầu hết các phần. 369 00:20:21,750 --> 00:20:26,940 Bạn sẽ không cần phải chạm vào nó, và nếu bạn làm bạn rối lên một số điều ở đây, nó 370 00:20:26,940 --> 00:20:28,600 được một chút khéo léo. 371 00:20:28,600 --> 00:20:32,480 >> Vì vậy, tại sao chúng ta không nhìn vào các tập tin trên 372 00:20:32,480 --> 00:20:34,700 bên trái tay trong hoa tiêu của chúng tôi. 373 00:20:34,700 --> 00:20:37,060 Ở đây, chúng tôi có AppDelegate.h. 374 00:20:37,060 --> 00:20:43,430 Chúng tôi có AppDelegate.m Vì vậy, như bạn sẽ thông báo, chúng tôi đã tập tin tiêu đề, mà 375 00:20:43,430 --> 00:20:45,720 kết thúc trong dot h, và chúng tôi có thực hiện - 376 00:20:45,720 --> 00:20:46,970 thực sự, hãy để tôi zoom in 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 Hãy để tôi zoom in 380 00:20:59,940 --> 00:21:05,810 >> Đúng, vì vậy bạn có tập tin tiêu đề và bạn có tập tin thực hiện. 381 00:21:05,810 --> 00:21:07,060 Trên thực tế - 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 Đây là một chút lạ, nhưng chịu với tôi. 385 00:21:11,800 --> 00:21:16,140 Sau đó, bởi vì chúng tôi đã chọn một cái nhìn duy nhất ứng dụng, chúng ta sẽ được 386 00:21:16,140 --> 00:21:17,340 làm việc với kịch bản này. 387 00:21:17,340 --> 00:21:22,140 >> Vì vậy, kịch bản là một cái gì đó mà Apple đã đưa ra để thực sự giúp đỡ 388 00:21:22,140 --> 00:21:26,550 phát triển mẫu thử nghiệm nhanh chóng ứng dụng của họ. 389 00:21:26,550 --> 00:21:29,410 Vì vậy, đây là nơi mà bạn có thể tạo một ứng dụng mà không cần viết một 390 00:21:29,410 --> 00:21:31,710 dòng mã. 391 00:21:31,710 --> 00:21:35,390 Tuy nhiên, trong ứng dụng xem duy nhất của chúng tôi, chúng tôi, tất nhiên, có một 392 00:21:35,390 --> 00:21:41,270 nộp cho chúng tôi, mà là một bộ điều khiển xem. 393 00:21:41,270 --> 00:21:45,150 Vì vậy, chúng tôi có tiêu đề và tập tin thực hiện, ở đây. 394 00:21:45,150 --> 00:21:52,350 >> Và, tôi sẽ thu nhỏ bây giờ bởi vì chúng tôi sẽ cần phải làm việc trong kịch bản này. 395 00:21:52,350 --> 00:21:55,190 Vì vậy, đây là quan điểm của chúng tôi. 396 00:21:55,190 --> 00:22:00,120 Nếu chúng ta, đơn giản, chạy các ứng dụng ngay bây giờ, không có nhiều thú vị xảy ra. 397 00:22:00,120 --> 00:22:03,270 398 00:22:03,270 --> 00:22:05,040 Vì vậy, bạn sẽ thấy màn hình trắng này. 399 00:22:05,040 --> 00:22:06,110 OK? 400 00:22:06,110 --> 00:22:14,010 >> Và, trong khu vực tiện ích của chúng tôi, chúng tôi có thể thêm một loạt các thứ khác nhau với nó. 401 00:22:14,010 --> 00:22:19,290 Vì vậy, khi bạn đang làm việc với màn hình trong iOS, điều khiển xem là 402 00:22:19,290 --> 00:22:23,150 các đối tượng đóng gói, loại, quan điểm của bạn. 403 00:22:23,150 --> 00:22:26,980 Vì vậy, một bộ điều khiển xem luôn có một tài sản được gọi là điểm. 404 00:22:26,980 --> 00:22:29,610 Và xem rằng, thông thường, chứa, Bạn có biết, những gì bạn 405 00:22:29,610 --> 00:22:30,810 muốn nhìn thấy trên màn hình. 406 00:22:30,810 --> 00:22:39,210 >> Vì vậy, tốt, chúng ta hãy bắt đầu bằng cách đặt, có lẽ, có thể là một nhãn. 407 00:22:39,210 --> 00:22:41,450 Vì vậy, chúng ta hãy đặt một nhãn trên đó - 408 00:22:41,450 --> 00:22:44,080 dính nó ở giữa. 409 00:22:44,080 --> 00:22:49,560 Vì vậy, bây giờ mà tôi đã nhấp vào nhãn, tôi có thể đi vào các tính chất thanh tra 410 00:22:49,560 --> 00:22:51,510 và bắt đầu thay đổi giá trị của nó. 411 00:22:51,510 --> 00:22:55,040 Chúng ta hãy gọi nó CS50 màu sắc. 412 00:22:55,040 --> 00:22:58,220 >> Và, tôi cũng có thể thay đổi font chữ. 413 00:22:58,220 --> 00:23:02,630 Vì vậy, thay vì hệ thống, đó là làm mặc định, chúng ta có thể làm một tùy chỉnh. 414 00:23:02,630 --> 00:23:03,770 Chúng ta có thể thay đổi - 415 00:23:03,770 --> 00:23:06,453 bạn đã biết, siêu nhẹ, làm cho nó 32. 416 00:23:06,453 --> 00:23:09,000 417 00:23:09,000 --> 00:23:11,370 Và sau đó, chúng ta có thể làm cho hộp của chúng tôi lớn hơn. 418 00:23:11,370 --> 00:23:14,410 >> ĐỐI TƯỢNG: Bạn có nghĩ rằng bạn có thể phóng to trong hơn một chút, có lẽ? 419 00:23:14,410 --> 00:23:14,810 >> RHED SHI: Vâng? 420 00:23:14,810 --> 00:23:16,196 OK. 421 00:23:16,196 --> 00:23:17,450 >> ĐỐI TƯỢNG: Chỉ cần gõ nó? 422 00:23:17,450 --> 00:23:19,020 >> RHED SHI: Hãy xem. 423 00:23:19,020 --> 00:23:20,382 Không làm việc này? 424 00:23:20,382 --> 00:23:22,270 >> ĐỐI TƯỢNG: Chỉ cần vượt qua Xcode? 425 00:23:22,270 --> 00:23:23,520 >> RHED SHI: Chắc chắn. 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 Tuyệt vời. 429 00:23:26,275 --> 00:23:27,072 >> ĐỐI TƯỢNG: Nhãn dưới? 430 00:23:27,072 --> 00:23:28,920 Nhãn? 431 00:23:28,920 --> 00:23:29,480 >> RHED SHI: đó là gì? 432 00:23:29,480 --> 00:23:32,050 >> ĐỐI TƯỢNG: Điều gì thả xuống là nhãn theo? 433 00:23:32,050 --> 00:23:35,170 >> RHED SHI: Vì vậy, câu hỏi là, những gì thả xuống là nhãn theo? 434 00:23:35,170 --> 00:23:37,260 Cần, đơn giản, dưới đây. 435 00:23:37,260 --> 00:23:39,330 Tôi đoán đó là một điều khối lập phương. 436 00:23:39,330 --> 00:23:40,910 Nhưng thông thường, đây là mặc định - 437 00:23:40,910 --> 00:23:43,250 Tôi chỉ đi xuống đây cho đến khi tôi tìm thấy một nhãn. 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 >> Vì vậy, bây giờ, chúng tôi có nhãn của chúng tôi. 441 00:23:48,950 --> 00:23:51,040 Hãy trung tâm này. 442 00:23:51,040 --> 00:23:56,410 Và Xcode cho chúng ta hướng dẫn giữa đối tượng. 443 00:23:56,410 --> 00:23:59,510 444 00:23:59,510 --> 00:24:01,480 Vì vậy, bây giờ chúng ta hãy chạy mã của chúng tôi một lần nữa. 445 00:24:01,480 --> 00:24:08,110 446 00:24:08,110 --> 00:24:08,800 >> Có chúng tôi đi. 447 00:24:08,800 --> 00:24:10,310 Vì vậy, chúng tôi có CS50 màu sắc. 448 00:24:10,310 --> 00:24:13,720 449 00:24:13,720 --> 00:24:15,420 Và bây giờ, chúng ta hãy đặt một nút trên đó, phải không? 450 00:24:15,420 --> 00:24:17,480 Bởi vì chúng tôi muốn thực hiện này tương tác. 451 00:24:17,480 --> 00:24:19,410 Vì vậy, hãy đặt một nút ở đây. 452 00:24:19,410 --> 00:24:39,020 Và chúng tôi sẽ gọi cho nút "vòi này đây để tiếp tục. "Chúng tôi sẽ tập trung nó, cũng 453 00:24:39,020 --> 00:24:39,990 Trên thực tế, nó đã được làm trung tâm. 454 00:24:39,990 --> 00:24:40,630 Yeah. 455 00:24:40,630 --> 00:24:43,130 >> Vì vậy, bây giờ chúng tôi có một nút. 456 00:24:43,130 --> 00:24:53,000 Và nếu chúng ta chạy này một lần nữa, chúng ta sẽ có một nút nhỏ tốt đẹp ở đây. 457 00:24:53,000 --> 00:24:56,520 Và tôi có thể nhấp vào nó, nhưng nó không làm bất cứ điều gì, bởi vì chúng tôi đã không được thực hiện 458 00:24:56,520 --> 00:24:58,500 bất cứ điều gì với các nút được nêu ra. 459 00:24:58,500 --> 00:25:01,740 >> Vì vậy, chúng ta hãy tạo ra một góc nhìn khác, phải không? 460 00:25:01,740 --> 00:25:04,160 Vì vậy, hãy nói rằng tôi muốn khai thác nút đó và tôi muốn 461 00:25:04,160 --> 00:25:05,730 đi đến một trang khác - 462 00:25:05,730 --> 00:25:06,820 khác xem. 463 00:25:06,820 --> 00:25:14,440 Những gì tôi sẽ làm là, tôi có thể tạo ra một bộ điều khiển xem, phải không? 464 00:25:14,440 --> 00:25:19,690 Bây giờ tôi sẽ bấm vào nút của tôi, và sau đó, điều quan trọng là, tôi sẽ 465 00:25:19,690 --> 00:25:20,910 nhấp vào - hoặc - 466 00:25:20,910 --> 00:25:23,660 có, kiểm soát trên bàn phím của tôi. 467 00:25:23,660 --> 00:25:24,880 Kiểm soát. 468 00:25:24,880 --> 00:25:27,005 Nhấn vào nút, và sau đó kéo. 469 00:25:27,005 --> 00:25:29,960 470 00:25:29,960 --> 00:25:33,550 >> Vì vậy, hãy nhớ giữ phím điều khiển. 471 00:25:33,550 --> 00:25:35,160 Chúng ta hãy làm điều đó một lần nữa. 472 00:25:35,160 --> 00:25:40,930 Vì vậy, tổ chức kiểm soát, nhấp chuột và kéo với những gì bạn muốn làm. 473 00:25:40,930 --> 00:25:41,520 OK. 474 00:25:41,520 --> 00:25:43,610 >> Và bây giờ, tôi có nhiều lựa chọn ở đây. 475 00:25:43,610 --> 00:25:47,900 Tôi có thể đẩy, hoặc tôi có thể làm một modal, hoặc tôi có thể làm một tùy chỉnh. 476 00:25:47,900 --> 00:25:50,900 Đẩy chỉ là nếu bạn có một điều khiển chuyển hướng. 477 00:25:50,900 --> 00:25:54,270 Ngay bây giờ, xem đầu tiên của chúng tôi điều khiển không phải là bên trong của bất kỳ 478 00:25:54,270 --> 00:25:55,610 điều khiển chuyển hướng. 479 00:25:55,610 --> 00:25:59,500 Vì vậy, điều khiển chuyển hướng là một trong những cung cấp cho bạn các nút quay lại trên 480 00:25:59,500 --> 00:26:03,910 các ứng dụng iOS, nơi bạn có, bạn đã biết, hàng đầu mà, loại, thanh dày - 481 00:26:03,910 --> 00:26:06,480 nơi bạn có thể quay trở lại, hoặc về phía trước, vân vân. 482 00:26:06,480 --> 00:26:07,740 Ngay bây giờ, tôi không có điều đó. 483 00:26:07,740 --> 00:26:11,050 Và như vậy, đó là lý do tại sao tôi không thể làm một sự thúc đẩy. 484 00:26:11,050 --> 00:26:12,480 >> Vì vậy, tôi nhấp vào đẩy vô tình, đây. 485 00:26:12,480 --> 00:26:16,480 Và trên thực tế, chúng ta hãy chạy mã, và nó sẽ sụp đổ vào tôi. 486 00:26:16,480 --> 00:26:19,770 487 00:26:19,770 --> 00:26:22,960 Chỉ khi tôi nhấn nút mặc dù, vì vậy - 488 00:26:22,960 --> 00:26:23,420 đúng. 489 00:26:23,420 --> 00:26:26,480 Vì vậy, đây là xấu. 490 00:26:26,480 --> 00:26:31,330 >> Và, như bạn có thể thấy, ở đây, chúng tôi có thông báo lỗi. 491 00:26:31,330 --> 00:26:35,460 Vì vậy, "segues Đẩy chỉ có thể được sử dụng khi điều khiển nguồn được quản lý bởi một 492 00:26:35,460 --> 00:26:40,700 thể hiện của điều khiển chuyển hướng giao diện người dùng. " Vì vậy, bởi vì đây không phải là bên trong một 493 00:26:40,700 --> 00:26:44,030 điều khiển chuyển hướng, Tôi không thể làm điều đó. 494 00:26:44,030 --> 00:26:48,782 >> Vì vậy, ngay bây giờ, tôi sẽ trở lại thư mục, trở lại với kịch bản này. 495 00:26:48,782 --> 00:26:51,680 >> ĐỐI TƯỢNG: chuyển hướng là gì điều khiển, một lần nữa? 496 00:26:51,680 --> 00:26:55,260 >> RHED SHI: Vì vậy, ngay bây giờ tôi sẽ cho bạn thấy. 497 00:26:55,260 --> 00:26:56,200 Chúng ta hãy xem. 498 00:26:56,200 --> 00:27:00,510 Vì vậy, tôi sẽ click vào xem này điều khiển, và sau đó tôi sẽ đi 499 00:27:00,510 --> 00:27:03,920 lên đến sản phẩm - 500 00:27:03,920 --> 00:27:06,240 trên thực tế, không, xin lỗi - biên tập viên. 501 00:27:06,240 --> 00:27:08,360 Và tôi sẽ đi vào - 502 00:27:08,360 --> 00:27:09,350 thực sự, tôi đã click vào nó? 503 00:27:09,350 --> 00:27:10,070 Không. 504 00:27:10,070 --> 00:27:11,080 Có chúng tôi đi. 505 00:27:11,080 --> 00:27:16,270 Tôi sẽ đi lên vào trình soạn thảo, đi xuống để nhúng vào, và sau đó chuyển hướng 506 00:27:16,270 --> 00:27:17,520 điều khiển. 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 Và, không gian làm việc của tôi trông thực sự lộn xộn, vì vậy hãy làm sạch này lên. 510 00:27:27,750 --> 00:27:29,000 Vì vậy, tất cả điều này là kịch bản. 511 00:27:29,000 --> 00:27:32,510 512 00:27:32,510 --> 00:27:33,760 Và theo cách này - 513 00:27:33,760 --> 00:27:37,030 514 00:27:37,030 --> 00:27:38,280 OK, dừng lại - 515 00:27:38,280 --> 00:27:49,320 516 00:27:49,320 --> 00:27:50,860 Tôi có thể nhanh chóng xây dựng một cái gì đó như thế này. 517 00:27:50,860 --> 00:27:53,020 Và sau đó, bây giờ tôi có thể quay trở lại, bạn biết không? 518 00:27:53,020 --> 00:27:55,730 >> Nhưng đây là loại nhàm chán, phải không? 519 00:27:55,730 --> 00:28:03,020 Vì vậy, những gì tôi muốn làm là, tôi không muốn để thực hiện, chỉ đơn giản là, một cái nhìn 520 00:28:03,020 --> 00:28:03,870 điều khiển. 521 00:28:03,870 --> 00:28:07,720 Hãy nói rằng tôi muốn thực sự thực hiện xem bảng điều khiển, vì vậy tôi có thể đặt trong 522 00:28:07,720 --> 00:28:12,110 một số màu sắc đẹp, vào bảng. 523 00:28:12,110 --> 00:28:16,210 >> Vì vậy, bây giờ mà tôi đã đưa vào xem bàn của tôi điều khiển, tôi cần phải kết nối nó trở lại 524 00:28:16,210 --> 00:28:18,560 từ nút này đến điều khiển xem. 525 00:28:18,560 --> 00:28:21,780 Vì vậy, tôi cần phải làm kiểm soát của tôi, nhấp chuột, kéo điều một lần nữa. 526 00:28:21,780 --> 00:28:27,318 Và bây giờ tôi có thể làm đẩy, bởi vì tôi nhúng nó bên trong một điều khiển chuyển hướng. 527 00:28:27,318 --> 00:28:32,210 >> ĐỐI TƯỢNG: Danh mục chính điều khiển chỉ cho phép bạn đi từ nơi này đến nơi? 528 00:28:32,210 --> 00:28:33,540 >> RHED SHI: Có. 529 00:28:33,540 --> 00:28:38,670 Vì vậy, về mặt kỹ thuật, đó là một đối tượng nơi - 530 00:28:38,670 --> 00:28:43,150 như vậy, bên trong các menu đối tượng điều khiển, nó 531 00:28:43,150 --> 00:28:44,780 theo dõi một mảng. 532 00:28:44,780 --> 00:28:48,300 Và mảng chứa tất cả các tiếp theo xem bộ điều khiển. 533 00:28:48,300 --> 00:28:51,560 Đó là lý do tại sao khi bạn nhấn trở lại, nó đi trở lại trang trước đó. 534 00:28:51,560 --> 00:28:55,260 Bởi vì điều khiển chuyển hướng đối tượng, hoặc các mã mà sẽ chăm sóc của 535 00:28:55,260 --> 00:28:58,890 đối tượng này, có một mảng mà giữ theo dõi các bộ điều khiển xem, và 536 00:28:58,890 --> 00:29:01,870 có thể sau đó, bạn đã biết, DQ điểm điều khiển và cung cấp cho bạn lại 537 00:29:01,870 --> 00:29:02,750 trước đó. 538 00:29:02,750 --> 00:29:05,200 >> Vì vậy, đây là công cụ kỹ thuật, nhưng - 539 00:29:05,200 --> 00:29:07,505 và tôi sẽ chỉ cho bạn sau này trong mã, nếu chúng ta có thời gian. 540 00:29:07,505 --> 00:29:10,270 Tôi là loại chạy trên thời gian, nhưng - 541 00:29:10,270 --> 00:29:15,610 >> Vì vậy, với quan điểm bảng, những gì chúng ta có thể làm là - 542 00:29:15,610 --> 00:29:18,440 Nó thường tự động thiết lập Dynamic Prototype - 543 00:29:18,440 --> 00:29:20,640 chúng ta sẽ làm cho nó tế bào tĩnh, nếu không chúng ta sẽ 544 00:29:20,640 --> 00:29:22,920 chạy vào một số vấn đề. 545 00:29:22,920 --> 00:29:28,470 >> Và sau đó, chúng ta hãy nói tôi sẽ có một phần. 546 00:29:28,470 --> 00:29:31,000 Vì vậy, phần là như thế - 547 00:29:31,000 --> 00:29:35,160 nếu bạn đã bao giờ nhìn thấy các ứng dụng âm nhạc, khi bạn có các nghệ sĩ, phần sẽ 548 00:29:35,160 --> 00:29:37,830 là của A đến Z's - 549 00:29:37,830 --> 00:29:38,780 các chữ cái - 550 00:29:38,780 --> 00:29:42,600 và sau đó, bạn đã biết, cá nhân hàng sẽ là những cái tên nghệ sĩ. 551 00:29:42,600 --> 00:29:47,460 Và như vậy, những gì mát mẻ ở đây, là tôi có thể truy cập tất cả các đối tượng bên trong 552 00:29:47,460 --> 00:29:50,430 của kịch bản của tôi thông qua này trình đơn thả xuống, quá. 553 00:29:50,430 --> 00:29:56,600 >> Vì vậy, tôi sẽ phải bấm vào phần của tôi, và tôi muốn bạn biết đấy, có lẽ khoảng năm hàng. 554 00:29:56,600 --> 00:30:00,770 Và sau đó, bên trong mỗi hàng, Tôi muốn đặt một nhãn. 555 00:30:00,770 --> 00:30:04,080 556 00:30:04,080 --> 00:30:06,340 Và tôi sẽ gọi màu xanh này. 557 00:30:06,340 --> 00:30:09,530 558 00:30:09,530 --> 00:30:15,630 Và sau đó, tôi muốn đặt một cái nhìn giao diện người dùng, bạn biết, có thể cho, như, một hộp nhỏ. 559 00:30:15,630 --> 00:30:23,840 560 00:30:23,840 --> 00:30:28,710 >> Để tôi có thể cho mọi người một bản xem trước của màu sắc. 561 00:30:28,710 --> 00:30:34,150 Và tôi sẽ quay trở lại tài sản và thay đổi màu sắc để, oh, tôi không 562 00:30:34,150 --> 00:30:35,510 biết, chương trình này. 563 00:30:35,510 --> 00:30:38,630 564 00:30:38,630 --> 00:30:43,150 >> Và sau đó, nhận thấy cũng có, ở đây, khi tôi có các phụ kiện, tôi có thể có rất nhiều 565 00:30:43,150 --> 00:30:46,160 các phụ kiện khác nhau bạn thường thấy. 566 00:30:46,160 --> 00:30:55,250 Chỉ số công bố thông tin, chi tiết, hoặc kiểm tra đánh dấu, hoặc đơn giản chỉ là chi tiết. 567 00:30:55,250 --> 00:30:59,080 Vì vậy, có lẽ chúng ta có thể làm, như, một tiết lộ chỉ số, ví dụ. 568 00:30:59,080 --> 00:31:03,540 >> Và sau đó, tại sao chúng ta không có những, sao chép dán chúng, và đặt chúng vào các 569 00:31:03,540 --> 00:31:06,740 dòng của bảng tiếp theo. 570 00:31:06,740 --> 00:31:08,115 Vì vậy, chúng ta có thể gọi vàng này. 571 00:31:08,115 --> 00:31:10,620 572 00:31:10,620 --> 00:31:12,155 Và tôi có thể phải mở rộng này. 573 00:31:12,155 --> 00:31:15,730 574 00:31:15,730 --> 00:31:17,290 Chúng ta hãy làm cho nó màu vàng. 575 00:31:17,290 --> 00:31:20,610 Và bằng cách này, chúng ta có thể sao chép dán cách của chúng tôi xuống. 576 00:31:20,610 --> 00:31:24,910 577 00:31:24,910 --> 00:31:25,370 Đó là những gì? 578 00:31:25,370 --> 00:31:26,620 Màu tím. 579 00:31:26,620 --> 00:31:30,020 580 00:31:30,020 --> 00:31:34,740 >> Vì vậy, đây là tất cả các CS50 điển hình màu sắc mà bạn đã nhìn thấy trong lớp - 581 00:31:34,740 --> 00:31:37,160 thực sự, xin lỗi - 582 00:31:37,160 --> 00:31:38,410 hoặc trên trang web. 583 00:31:38,410 --> 00:31:49,700 584 00:31:49,700 --> 00:31:51,260 Hy vọng các bạn có thể nhìn thấy những gì tôi đang làm ở đây. 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 Tác phẩm mới nhất. 588 00:31:58,490 --> 00:32:02,040 >> ĐỐI TƯỢNG: Làm thế nào bạn thêm hàng ban đầu? 589 00:32:02,040 --> 00:32:04,740 >> RHED SHI: Vì vậy, câu hỏi là, làm thế nào Tôi đã thêm hàng ban đầu? 590 00:32:04,740 --> 00:32:07,500 Tôi đi vào phần bảng này - hoặc tuy nhiên tôi có thể 591 00:32:07,500 --> 00:32:09,200 chọn phần bảng - 592 00:32:09,200 --> 00:32:11,250 và sau đó, ở đây, tôi được cập nhật số hàng. 593 00:32:11,250 --> 00:32:19,920 594 00:32:19,920 --> 00:32:22,505 >> Và, cho tôi hy vọng rằng công trình này. 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 Chúng ta hãy xem nếu công trình này. 598 00:32:32,870 --> 00:32:34,000 Oh, hoàn hảo, tuyệt vời. 599 00:32:34,000 --> 00:32:35,300 OK. 600 00:32:35,300 --> 00:32:40,330 Trong khi tôi đang xây dựng demo của tôi, một số mọi thứ đã không phù hợp, do đó, nhờ 601 00:32:40,330 --> 00:32:42,510 tiếng vỗ tay. 602 00:32:42,510 --> 00:32:42,920 >> Yeah. 603 00:32:42,920 --> 00:32:44,770 Vì vậy, chúng ta hãy xem. 604 00:32:44,770 --> 00:32:47,550 Chúng tôi sẽ làm chín này chỉ để làm cho tất cả mọi thứ - hoặc thực sự, chúng ta hãy chỉ 605 00:32:47,550 --> 00:32:51,420 biến tất cả những thành công bố thông tin chỉ số. 606 00:32:51,420 --> 00:32:55,790 Và sau đó, những gì tôi muốn cho bạn thấy, quá, là làm thế nào tôi có thể mỗi người 607 00:32:55,790 --> 00:32:59,230 hàng bảng và họ đã tương tác - 608 00:32:59,230 --> 00:33:00,150 oh. 609 00:33:00,150 --> 00:33:01,400 Không. 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 Ngoài ra, tôi muốn cho bạn thấy - 613 00:33:07,230 --> 00:33:13,080 ở đây, tôi có thể đặt tiêu đề của tôi điều khiển chuyển hướng, phải không? 614 00:33:13,080 --> 00:33:17,090 Vì vậy, trên thực tế, bạn sẽ nhận thấy, ngay sau khi tôi nhúng điều khiển điểm này trong 615 00:33:17,090 --> 00:33:22,010 của bộ điều khiển chuyển hướng, chúng ta thấy thanh điều hướng này ở đầu của chúng tôi 616 00:33:22,010 --> 00:33:25,340 đại diện kịch bản của một bộ điều khiển xem. 617 00:33:25,340 --> 00:33:29,270 Và như vậy, điều này cho chúng ta, giống như, một hình ảnh, loại, hướng dẫn để màn hình hiển thị của chúng tôi. 618 00:33:29,270 --> 00:33:34,360 Điều này rõ ràng là sẽ là thanh điều hướng. 619 00:33:34,360 --> 00:33:40,950 >> Và những gì tôi muốn làm một cách nhanh chóng, bây giờ, được đặt trong một - 620 00:33:40,950 --> 00:33:45,880 vì vậy điều này điều khiển xem bảng tôi đã làm bằng cách thực hiện một trong những điều này và kéo nó 621 00:33:45,880 --> 00:33:49,800 ở đây, và đó là những gì cho phép tôi nhanh chóng, thực sự, tạo ra một cái nhìn bảng 622 00:33:49,800 --> 00:33:50,850 điều khiển. 623 00:33:50,850 --> 00:33:54,100 Nếu chúng ta không có thời gian mặc dù, bạn sẽ thấy rằng, lập trình, đó là một 624 00:33:54,100 --> 00:33:57,660 một chút phức tạp hơn để tạo ra một bảng điều khiển xem, bởi vì có 625 00:33:57,660 --> 00:34:02,520 là một vài phương pháp mà cần thiết để bạn, loại, viết 626 00:34:02,520 --> 00:34:07,130 ra để cho xem bảng bộ điều khiển sẽ được hiển thị một cách chính xác. 627 00:34:07,130 --> 00:34:15,340 >> Tuy nhiên, tôi chỉ muốn cho bạn thấy, bây giờ, một ví dụ về đâu, nếu tôi thực hiện việc này, 628 00:34:15,340 --> 00:34:15,920 ví dụ - 629 00:34:15,920 --> 00:34:18,290 Tôi đã đặt trong một bộ điều khiển xem. 630 00:34:18,290 --> 00:34:27,320 Và bây giờ, chúng ta hãy nói rằng tôi muốn kiểm soát alt màu xanh đầu tiên của tôi 631 00:34:27,320 --> 00:34:28,980 dòng của bảng để ở đây. 632 00:34:28,980 --> 00:34:31,070 Và tôi muốn gọi màu xanh này. 633 00:34:31,070 --> 00:34:32,570 Và sau đó - 634 00:34:32,570 --> 00:34:34,159 chúng ta hãy xem. 635 00:34:34,159 --> 00:34:41,050 Tôi đang ở điểm bây giờ, và tôi có thể thay đổi nền màu xanh. 636 00:34:41,050 --> 00:34:45,945 >> Và vì vậy, thông báo, ở đây, điều này thả xuống đơn cũng cung cấp cho bạn một hệ thống phân cấp của tất cả các 637 00:34:45,945 --> 00:34:47,040 của các đối tượng. 638 00:34:47,040 --> 00:34:50,530 Vì vậy, một điều quan trọng cần lưu ý, ở đây, là tất cả những điều này, ở đây - 639 00:34:50,530 --> 00:34:54,330 điều khiển xem bảng này, bảng xem, xem bảng phần, xem bảng 640 00:34:54,330 --> 00:34:57,169 di động - tất cả trong số này là các đối tượng, trong mã. 641 00:34:57,169 --> 00:35:03,752 Vì vậy, bạn biết, một nhãn ngay bây giờ là dưới xem nội dung, vân vân. 642 00:35:03,752 --> 00:35:05,020 Vv và vv. 643 00:35:05,020 --> 00:35:08,765 >> Vì vậy, nếu chúng ta chạy mã này, chúng tôi sẽ thấy một cái gì đó - 644 00:35:08,765 --> 00:35:15,816 645 00:35:15,816 --> 00:35:17,870 chúng ta hãy xem đây - yeah. 646 00:35:17,870 --> 00:35:18,670 Vì vậy, có chúng tôi đi. 647 00:35:18,670 --> 00:35:22,120 Nhưng, nếu chúng ta không làm điều đó, không ai những điều khác làm việc. 648 00:35:22,120 --> 00:35:22,500 Phải không? 649 00:35:22,500 --> 00:35:23,800 Vì vậy, chỉ có một công trình này. 650 00:35:23,800 --> 00:35:29,100 Và, vì lợi ích của thời gian, tôi sẽ không đi vào, bạn đã biết, việc đưa 651 00:35:29,100 --> 00:35:29,770 xuống những người khác. 652 00:35:29,770 --> 00:35:32,020 Và đây là kết thúc, loại, kịch bản - 653 00:35:32,020 --> 00:35:33,400 những gì tôi muốn thể hiện bạn cho kịch bản này. 654 00:35:33,400 --> 00:35:36,330 655 00:35:36,330 --> 00:35:43,490 >> Và, tôi có một ví dụ làm việc ra, trên thực tế, ngay tại đây. 656 00:35:43,490 --> 00:35:48,090 Vì vậy, đây là kịch bản mà tôi đã thực hiện trước đó. 657 00:35:48,090 --> 00:35:52,740 Vì vậy, bạn có thể thấy, đây là điều khiển chuyển hướng của tôi. 658 00:35:52,740 --> 00:35:57,040 Sau đó, tôi đã có điều khiển xem đầu tiên của tôi, sau đó tôi đã điều khiển xem bàn của tôi, 659 00:35:57,040 --> 00:35:58,980 và sau đó tôi đã có tất cả các - 660 00:35:58,980 --> 00:36:01,180 vì vậy trước đó, tôi đã làm một cái gì đó rất khác nhau. 661 00:36:01,180 --> 00:36:04,450 Vì vậy, xin lỗi những điều đó. 662 00:36:04,450 --> 00:36:07,930 Tôi có lẽ sẽ làm sạch nó lên sau trước Tôi gửi nó đi vào sản xuất. 663 00:36:07,930 --> 00:36:12,800 >> Nhưng, nếu chúng ta chạy này, chúng ta sẽ thấy rằng tất cả các tùy chọn 664 00:36:12,800 --> 00:36:14,050 sẵn cho chúng tôi. 665 00:36:14,050 --> 00:36:18,540 666 00:36:18,540 --> 00:36:21,320 Ngoại trừ tôi đã không làm cho các hình nền những màu sắc. 667 00:36:21,320 --> 00:36:26,510 Vì vậy, ứng dụng đơn giản đẹp. 668 00:36:26,510 --> 00:36:28,340 >> Bây giờ, chúng ta hãy cố gắng để giải điều này lập trình. 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 Vì vậy, để làm được điều đó, chúng ta chỉ cần đi để bắt đầu một dự án Xcode mới. 672 00:36:37,570 --> 00:36:41,920 Chúng tôi sẽ làm cho nó một ứng dụng trống bây giờ, bởi vì chúng tôi không muốn có 673 00:36:41,920 --> 00:36:42,380 kịch bản này. 674 00:36:42,380 --> 00:36:46,590 Vì vậy, tôi chỉ đơn giản là hạn chế bản thân mình để không sử dụng bất kỳ kịch bản, và một 675 00:36:46,590 --> 00:36:49,170 ứng dụng sẽ không có sản phẩm nào cho tôi một kịch bản. 676 00:36:49,170 --> 00:36:52,256 Này chỉ là để ngăn chặn bản thân mình từ gian lận. 677 00:36:52,256 --> 00:36:54,428 Chúng ta hãy xem. 678 00:36:54,428 --> 00:36:55,360 Chờ đợi. 679 00:36:55,360 --> 00:36:55,960 Đã làm tôi - 680 00:36:55,960 --> 00:36:56,448 Vâng. 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 >> Đúng. 684 00:37:09,180 --> 00:37:16,790 Vì vậy, ở đây, chúng tôi chỉ còn lại không có gì khác nhưng mã. 685 00:37:16,790 --> 00:37:19,460 Vì vậy, hãy để tôi di chuyển cửa sổ này nhẹ hơn. 686 00:37:19,460 --> 00:37:22,020 687 00:37:22,020 --> 00:37:22,260 Đúng. 688 00:37:22,260 --> 00:37:28,160 Như bạn có thể thấy ở đây, các tập tin chỉ chúng tôi đưa ra là AppDelegate.h và dấu chấm 689 00:37:28,160 --> 00:37:30,500 m, và chúng tôi không có kịch bản nữa. 690 00:37:30,500 --> 00:37:39,580 >> Vì vậy, nếu chúng tôi chạy này, chúng tôi vẫn sẽ đến được với các màn hình trắng, cảm ơn Chúa. 691 00:37:39,580 --> 00:37:42,280 OK - màn hình trắng, nhưng không có gì khác. 692 00:37:42,280 --> 00:37:45,260 Và, đây là phần quan trọng. 693 00:37:45,260 --> 00:37:47,810 Đây là nơi mà hành động xảy ra. 694 00:37:47,810 --> 00:37:51,410 Trong các phiên bản trước, có thường không có mã ở đây, nhưng 695 00:37:51,410 --> 00:37:55,600 kịch bản cơ bản cung cấp các mã cho phần này. 696 00:37:55,600 --> 00:37:57,470 Tôi sẽ không đi vào chi tiết về cách. 697 00:37:57,470 --> 00:38:02,890 >> Và những gì chúng tôi muốn làm bây giờ là, chúng tôi muốn đi ở đây, và không gian nhỏ bé này 698 00:38:02,890 --> 00:38:05,050 bắt đầu tạo ứng dụng của chúng tôi một lần nữa. 699 00:38:05,050 --> 00:38:06,092 Vì vậy, - 700 00:38:06,092 --> 00:38:06,318 có? 701 00:38:06,318 --> 00:38:07,450 >> ĐỐI TƯỢNG: Phóng to? 702 00:38:07,450 --> 00:38:07,770 >> RHED SHI: Zoom. 703 00:38:07,770 --> 00:38:09,020 Vâng, chắc chắn. 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 Tôi sẽ được đánh máy, vì vậy điều này không nên vấn đề gì. 707 00:38:17,380 --> 00:38:17,940 OK. 708 00:38:17,940 --> 00:38:22,720 >> Vì vậy, đầu tiên, hãy nhớ chúng tôi muốn tạo ra một điều khiển chuyển hướng, phải không? 709 00:38:22,720 --> 00:38:27,090 Và cũng có thể, như bạn có thể thấy ở đây, Xcode làm một công việc thực sự tuyệt vời của 710 00:38:27,090 --> 00:38:28,070 tự điền. 711 00:38:28,070 --> 00:38:31,650 Vì vậy, như bạn sẽ nhận thấy, tên của tất cả mọi thứ được lâu hơn rất nhiều so với 712 00:38:31,650 --> 00:38:33,910 thông thường, nhưng Xcode lấp đầy nó cho bạn. 713 00:38:33,910 --> 00:38:35,710 Vì vậy, tôi chỉ có thể nhấn Enter. 714 00:38:35,710 --> 00:38:40,180 >> Vì vậy, tôi muốn tạo ra một chuyển hướng giao diện người dùng con trỏ điều khiển, và tôi có thể gọi nó 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 Bây giờ, tôi phải làm gì bây giờ? 718 00:38:44,470 --> 00:38:49,510 Sau dấu bằng này, tôi cần phải, đầu tiên, tạo ra nó trong bộ nhớ. 719 00:38:49,510 --> 00:38:53,790 Vì vậy, tôi sẽ làm NavigationController alloc - 720 00:38:53,790 --> 00:38:56,640 vậy, điều này cũng tương tự như malloc, mà các bạn sử dụng trong C - 721 00:38:56,640 --> 00:38:58,400 và sau đó, tôi sẽ init nó. 722 00:38:58,400 --> 00:39:03,670 >> Vì vậy, nó thực sự quan trọng mà bất kỳ đối tượng mà bạn tạo ra, bạn muốn 723 00:39:03,670 --> 00:39:04,940 alloc và init nó. 724 00:39:04,940 --> 00:39:08,600 Điều đó sẽ tạo ra nó và instantialize nó trong bộ nhớ, và 725 00:39:08,600 --> 00:39:10,480 bây giờ bạn có thể sử dụng nó. 726 00:39:10,480 --> 00:39:10,780 Tất cả phải không? 727 00:39:10,780 --> 00:39:14,360 Nếu bạn không làm điều đó, đối tượng của bạn không không tồn tại, và bạn sẽ chạy vào một loạt 728 00:39:14,360 --> 00:39:17,290 của các vấn đề. 729 00:39:17,290 --> 00:39:20,250 >> Và sau đó, tôi muốn tạo ra một bộ điều khiển xem, phải không? 730 00:39:20,250 --> 00:39:25,580 Vì vậy, tôi muốn tạo ra một UIViewController sao - 731 00:39:25,580 --> 00:39:29,620 như vậy, tất cả mọi thứ là một con trỏ trong Objective-C, và tôi sẽ làm 732 00:39:29,620 --> 00:39:31,600 một cái gì đó tương tự, ở đây - 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 >> Và sau đó những gì tôi sẽ làm là, tôi sẽ - vì vậy, hãy nhớ khi chúng tôi đã làm 737 00:39:43,450 --> 00:39:45,360 các địa chỉ mạng bên trong điều khiển chuyển hướng? 738 00:39:45,360 --> 00:39:46,920 Đây là cách bạn làm điều đó trong mã. 739 00:39:46,920 --> 00:39:54,550 Bạn sẽ làm navigationController 740 00:39:54,550 --> 00:39:55,780 pushViewController - 741 00:39:55,780 --> 00:39:57,636 >> ĐỐI TƯỢNG: [nghe được]. 742 00:39:57,636 --> 00:39:59,030 Điều này sẽ xảy ra cho chúng ta, hoặc -? 743 00:39:59,030 --> 00:40:00,080 >> RHED SHI: Oh, yeah. 744 00:40:00,080 --> 00:40:00,550 Không. 745 00:40:00,550 --> 00:40:02,740 Nó thích tôi hơn. 746 00:40:02,740 --> 00:40:04,670 Không, nó sẽ làm việc cho bạn, quá. 747 00:40:04,670 --> 00:40:06,700 Vì vậy, đây là tất cả các phương pháp. 748 00:40:06,700 --> 00:40:10,400 Vì vậy, pushViewController là một phương pháp, và cũng có thể, cụ thể hơn, nó là một 749 00:40:10,400 --> 00:40:13,590 phương pháp thể hiện của giao diện người dùng điều khiển chuyển hướng. 750 00:40:13,590 --> 00:40:20,030 Bởi vì tôi đã phải tạo ra điều hướng giao diện người dùng của tôi sao điều khiển, và sau đó tôi 751 00:40:20,030 --> 00:40:24,510 có thể gọi pushViewController này của tôi Ví dụ cụ thể của một chuyển hướng giao diện người dùng 752 00:40:24,510 --> 00:40:25,010 điều khiển. 753 00:40:25,010 --> 00:40:29,490 >> ĐỐI TƯỢNG: Chúng ta phải làm chính xác từ, hoặc dùng nó đã tồn tại cho nó? 754 00:40:29,490 --> 00:40:31,380 >> RHED SHI: Vâng, bởi vì đó là một phương pháp. 755 00:40:31,380 --> 00:40:32,200 Nó giống như một chức năng. 756 00:40:32,200 --> 00:40:33,330 Nó giống như printf. 757 00:40:33,330 --> 00:40:34,390 Nó giống như scanf. 758 00:40:34,390 --> 00:40:36,250 Nó giống như strcompare. 759 00:40:36,250 --> 00:40:40,310 Ngoại trừ nó biết những gì bạn có thể muốn loại, và nhận thấy rằng nó sẽ luôn luôn 760 00:40:40,310 --> 00:40:42,740 đưa ra những điều cho phép hợp pháp cho bạn. 761 00:40:42,740 --> 00:40:47,620 Vì vậy, nếu không có gì xuất hiện ở đây, sau đó cái gì là sai. 762 00:40:47,620 --> 00:40:50,550 >> Vì vậy, pushViewController. 763 00:40:50,550 --> 00:40:52,580 Vì vậy, bây giờ, tôi muốn đẩy mới của tôi tạo ra 764 00:40:52,580 --> 00:40:56,850 UIViewController, và sau đó, hoạt hình - 765 00:40:56,850 --> 00:40:57,470 có lẽ không. 766 00:40:57,470 --> 00:41:00,110 Bởi vì đây là có được quan điểm điều khiển đầu tiên. 767 00:41:00,110 --> 00:41:03,210 Ý tôi là, ngay cả khi tôi đã làm hoạt hình, nó có thể sẽ không xuất hiện, bởi vì 768 00:41:03,210 --> 00:41:05,050 đó là màn hình đầu tiên. 769 00:41:05,050 --> 00:41:06,540 >> Và ghi nhớ dấu ngoặc đơn. 770 00:41:06,540 --> 00:41:08,850 Vì vậy, nhớ làm thế nào chúng ta sử dụng dấu ngoặc? 771 00:41:08,850 --> 00:41:11,870 Và bên trong dấu ngoặc, các đối tượng kêu gọi một phương pháp - 772 00:41:11,870 --> 00:41:15,910 vì vậy đối tượng của chúng tôi là chuyển hướng điều khiển, và phương pháp này là một sự thúc đẩy 773 00:41:15,910 --> 00:41:17,210 điều khiển xem phim hoạt hình. 774 00:41:17,210 --> 00:41:21,920 Và xem nó như thế nào có trong hai đối số, và họ đang cách nhau bằng, loại, 775 00:41:21,920 --> 00:41:24,390 từ, và dấu hai chấm. 776 00:41:24,390 --> 00:41:28,300 Vì vậy, Objective-C sẽ cố gắng để làm cho nó đẹp và dễ dàng để bạn có thể đọc thành tiếng - 777 00:41:28,300 --> 00:41:33,020 mã của bạn - và nó có bán, loại, có ý nghĩa. 778 00:41:33,020 --> 00:41:37,150 >> Tuy nhiên, công việc này là không đủ. 779 00:41:37,150 --> 00:41:39,780 Hãy để tôi thu nhỏ bây giờ. 780 00:41:39,780 --> 00:41:44,210 Chỉ cần làm điều này là không đủ để có được những gì chúng tôi đã đến trước đó. 781 00:41:44,210 --> 00:41:48,580 Vì vậy, ở đây, bạn sẽ nhận thấy rằng có thực sự không có được bất kỳ loại 782 00:41:48,580 --> 00:41:50,190 thanh, ở đây, phải không? 783 00:41:50,190 --> 00:41:54,680 Không có thanh điều hướng, mà phương tiện mà chúng tôi vẫn chưa nhận được nó. 784 00:41:54,680 --> 00:41:58,850 >> Và chúng tôi có thể kiểm tra mà ra, cũng có thể, bởi, có lẽ, thay đổi hình nền của 785 00:41:58,850 --> 00:42:00,460 ViewController, phải không? 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 Vì vậy, xem như thế nào ViewController không có một màu nền, mặc dù tôi 790 00:42:07,690 --> 00:42:08,780 muốn truy cập nó? 791 00:42:08,780 --> 00:42:14,080 Và đó là bởi vì ViewController là một container cho xem. 792 00:42:14,080 --> 00:42:19,490 Vì vậy, nó có một tài sản xem, mà sau đó có một màu nền. 793 00:42:19,490 --> 00:42:25,510 >> Và, tôi có thể thiết lập nó, loại tediously, bằng cách gọi màu 794 00:42:25,510 --> 00:42:28,130 trên đối tượng UIColor. 795 00:42:28,130 --> 00:42:33,210 Vì vậy, thông báo đây, redColor là một phương pháp. 796 00:42:33,210 --> 00:42:36,750 Đó là một phương pháp học của UIColor. 797 00:42:36,750 --> 00:42:40,820 Bởi vì tôi không có để tạo ra một ví dụ thực tế của một UIColor để 798 00:42:40,820 --> 00:42:42,020 gọi phương thức trên nó. 799 00:42:42,020 --> 00:42:45,050 Tôi chỉ, đơn giản, gọi nó là vào loại giống như tên. 800 00:42:45,050 --> 00:42:49,620 Tôi, giống như, gọi nó là trên int, int nếu có, như, một phương pháp để nó, ví dụ. 801 00:42:49,620 --> 00:42:52,380 >> Và như vậy, nếu chúng ta chạy mã này, chúng tôi sẽ nhận thấy rằng nền là 802 00:42:52,380 --> 00:42:53,540 thực sự không phải màu đỏ. 803 00:42:53,540 --> 00:42:54,790 Nó vẫn còn màu trắng. 804 00:42:54,790 --> 00:42:57,720 805 00:42:57,720 --> 00:43:04,550 Và làm thế nào chúng ta có thể làm được việc đó là, để ý có những self.window. 806 00:43:04,550 --> 00:43:08,260 Đó là, như, container cuối cùng cho ứng dụng của bạn. 807 00:43:08,260 --> 00:43:11,630 Đó là điều cuối cùng có chứa tất cả mọi thứ trên màn hình, cho một 808 00:43:11,630 --> 00:43:13,650 iPhone hoặc các ứng dụng iPad. 809 00:43:13,650 --> 00:43:20,970 >> Và, thuận tiện, self.window có tài sản này được gọi là 810 00:43:20,970 --> 00:43:22,650 rootViewController. 811 00:43:22,650 --> 00:43:26,480 Và đó là có được con trỏ đến quan điểm điều khiển đầu tiên bên trong 812 00:43:26,480 --> 00:43:27,270 của ứng dụng của bạn. 813 00:43:27,270 --> 00:43:32,000 Vì vậy, những gì chúng tôi muốn làm ở đây, bây giờ, là để thiết lập rằng bằng chuyển hướng của chúng tôi 814 00:43:32,000 --> 00:43:32,710 điều khiển. 815 00:43:32,710 --> 00:43:33,760 Phải không? 816 00:43:33,760 --> 00:43:37,490 Bởi vì, về mặt kỹ thuật, chuyển hướng điều khiển là điểm đầu tiên của chúng tôi 817 00:43:37,490 --> 00:43:38,770 điều khiển. 818 00:43:38,770 --> 00:43:46,160 Nó theo dõi một loạt các quan điểm khác bộ điều khiển, và chúng tôi đẩy này 819 00:43:46,160 --> 00:43:49,810 xem điều khiển vào mảng trong điều khiển chuyển hướng. 820 00:43:49,810 --> 00:43:52,640 >> Vì vậy, bạn không muốn làm điều này. 821 00:43:52,640 --> 00:43:54,225 Điều đó sẽ không thực sự giúp bạn. 822 00:43:54,225 --> 00:43:58,040 Bạn muốn làm điều này, nếu bạn muốn làm một điều khiển chuyển hướng, mà hầu hết 823 00:43:58,040 --> 00:44:01,100 của bạn có thể sẽ bởi vì bạn sẽ muốn để, loại, có một số loại, 824 00:44:01,100 --> 00:44:04,840 như, thực đơn để trở lại hoặc một số trang chủ để quay trở lại, chứ không phải là một 825 00:44:04,840 --> 00:44:05,470 màn hình trống. 826 00:44:05,470 --> 00:44:05,920 Có? 827 00:44:05,920 --> 00:44:11,460 >> ĐỐI TƯỢNG: Có khó chịu để bạn có thể phóng to - 828 00:44:11,460 --> 00:44:12,710 >> RHED SHI: Vâng. 829 00:44:12,710 --> 00:44:15,310 830 00:44:15,310 --> 00:44:15,720 Vì vậy, yeah. 831 00:44:15,720 --> 00:44:22,370 Đây là mã, và bây giờ chúng ta hãy kiểm tra nó ra. 832 00:44:22,370 --> 00:44:27,920 >> Vì vậy, có chúng tôi đi. 833 00:44:27,920 --> 00:44:29,170 Ma thuật. 834 00:44:29,170 --> 00:44:30,960 835 00:44:30,960 --> 00:44:32,690 Vì vậy, OK. 836 00:44:32,690 --> 00:44:34,420 Cảm ơn bạn. 837 00:44:34,420 --> 00:44:35,000 OK. 838 00:44:35,000 --> 00:44:38,690 Vì vậy, bây giờ, những gì chúng tôi muốn làm là - như vậy, chúng ta đang loại giới hạn, ở đây, phải không? 839 00:44:38,690 --> 00:44:45,130 Chúng tôi có khả năng có thể viết tất cả mọi thứ bên trong của một chức năng này. 840 00:44:45,130 --> 00:44:48,470 Nhưng, đó không phải là phát triển như thế nào iOS thường làm việc. 841 00:44:48,470 --> 00:44:53,030 >> Vì vậy, những gì chúng ta sẽ làm là, chúng tôi sẽ tạo ra một số tập tin mới. 842 00:44:53,030 --> 00:44:57,110 Nhưng, cụ thể hơn, chúng ta sẽ tạo một lớp Objective-C, hoặc 843 00:44:57,110 --> 00:44:58,010 một đối tượng - 844 00:44:58,010 --> 00:45:00,700 lớp và các đối tượng được hoán đổi đây. 845 00:45:00,700 --> 00:45:06,460 Và đây là cách tôi có thể, có khả năng, tạo một lớp điều khiển U. 846 00:45:06,460 --> 00:45:12,030 >> Vì vậy, đó là một lớp học phụ, như bạn sẽ nhận thấy, ở đây, đó là một sub-class của 847 00:45:12,030 --> 00:45:15,910 Xem giao diện người dùng điều khiển, nhưng tôi có thể gọi nó là bất kỳ tên nào khác ở đây. 848 00:45:15,910 --> 00:45:19,400 Tôi có thể gọi CS50 này, tôi có thể gọi điều khiển điểm này, tôi có thể gọi 849 00:45:19,400 --> 00:45:21,640 blah này điều khiển xem - 850 00:45:21,640 --> 00:45:22,400 bất cứ điều gì tôi muốn. 851 00:45:22,400 --> 00:45:24,140 Đây chỉ là tên của lớp. 852 00:45:24,140 --> 00:45:27,020 Tuy nhiên, nó sẽ là quan trọng bởi vì, về cơ bản, những gì tôi đang làm 853 00:45:27,020 --> 00:45:29,720 ở đây là, tôi là tạo ra một tên lớp. 854 00:45:29,720 --> 00:45:34,140 Vì vậy, nó sẽ là, như, một số loại loại hoặc một đối tượng. 855 00:45:34,140 --> 00:45:35,910 Vì vậy, nó phải là một chút chung chung. 856 00:45:35,910 --> 00:45:37,225 Nó sẽ không phải là rất cụ thể. 857 00:45:37,225 --> 00:45:40,410 858 00:45:40,410 --> 00:45:44,480 >> Và cũng có thể, tôi muốn chỉ ra hai tùy chọn. 859 00:45:44,480 --> 00:45:48,430 Bởi vì chúng tôi đang làm tất cả mọi thứ bên trong mã, đôi khi nó là dễ dàng hơn rất nhiều 860 00:45:48,430 --> 00:45:53,540 để mang lại một tập tin giao diện, như vậy mà Tôi nghĩa đen có thể kéo và thả, như 861 00:45:53,540 --> 00:45:54,960 chúng tôi đã làm trước đó với kịch bản - 862 00:45:54,960 --> 00:45:57,810 Bạn có biết, một nhãn hiệu, hoặc một nút, hoặc bất cứ điều gì khác. 863 00:45:57,810 --> 00:46:01,950 Và như vậy, xibs là các tập tin cho phép bạn làm điều đó, và bạn phải móc nó lên 864 00:46:01,950 --> 00:46:04,310 quan điểm này tập tin điều khiển. 865 00:46:04,310 --> 00:46:06,540 >> Vì vậy, tôi sẽ cố tình không kiểm tra này. 866 00:46:06,540 --> 00:46:12,510 Thông thường, tôi sẽ kiểm tra này, và nếu tôi chỉ làm điều này cho iPhone hoặc iPad, tôi 867 00:46:12,510 --> 00:46:16,340 sẽ kiểm tra này và chỉ đơn giản là có một cho, bạn đã biết, iPhone hay iPad. 868 00:46:16,340 --> 00:46:19,750 Nhưng kể từ khi tôi đang làm phổ quát, tôi sẽ để tạo ra hai trong số những người sau này. 869 00:46:19,750 --> 00:46:22,220 Vì vậy, tôi sẽ cố tình bỏ chọn này. 870 00:46:22,220 --> 00:46:23,940 >> Đây cũng là thực sự quan trọng. 871 00:46:23,940 --> 00:46:27,490 Rất nhiều lần, tôi đã có lỗi nơi này đã không được kiểm tra. 872 00:46:27,490 --> 00:46:31,930 Và như vậy, rõ ràng, tập tin này không phải là, loại, giống như, bao gồm nhập khẩu 873 00:46:31,930 --> 00:46:33,740 bên trong thư mục kiểm tra này. 874 00:46:33,740 --> 00:46:38,180 Và do đó, mã của tôi hoàn toàn không có ý tưởng về sự tồn tại của tập tin này, và 875 00:46:38,180 --> 00:46:41,080 gây ra rất nhiều đau đớn và giờ gỡ lỗi. 876 00:46:41,080 --> 00:46:44,360 Nhưng, chỉ cần đảm bảo này sẽ được kiểm tra để rằng, bạn đã biết, mục tiêu này 877 00:46:44,360 --> 00:46:47,510 tập tin cho ứng dụng này. 878 00:46:47,510 --> 00:46:48,310 >> OK. 879 00:46:48,310 --> 00:46:51,680 Vì vậy, bây giờ chúng tôi đã tạo ra hai tập tin mới. 880 00:46:51,680 --> 00:46:54,050 Và những tập tin này trông khá trống. 881 00:46:54,050 --> 00:46:59,550 Và, trên thực tế, chúng ta cũng tiếp tục trên bằng cách tạo ra các tập tin xib. 882 00:46:59,550 --> 00:47:03,690 Vì vậy, trước đây, tôi đã được ở Cocoa Touch thả xuống. 883 00:47:03,690 --> 00:47:06,880 Bây giờ, tôi sẽ đi vào người dùng Giao diện cảm ứng, và như bạn thấy, tôi 884 00:47:06,880 --> 00:47:08,120 có thể tạo ra một kịch bản. 885 00:47:08,120 --> 00:47:11,710 >> Vì vậy, ngay cả khi tôi bắt đầu với một sản phẩm nào ứng dụng, tôi vẫn có thể sử dụng một 886 00:47:11,710 --> 00:47:12,340 kịch bản này. 887 00:47:12,340 --> 00:47:15,480 Mặc dù, nó được khôn lanh về làm thế nào bạn muốn kết nối 888 00:47:15,480 --> 00:47:16,820 mà mã của bạn. 889 00:47:16,820 --> 00:47:18,230 Vì vậy, tôi sẽ không đến đó. 890 00:47:18,230 --> 00:47:22,160 >> Nhưng, những gì chúng tôi muốn làm bây giờ là tạo một cái nhìn. 891 00:47:22,160 --> 00:47:25,720 Và bạn có thể chọn cho một chiếc iPhone hoặc iPad. 892 00:47:25,720 --> 00:47:30,180 Và thông thường, để biểu thị sự khác biệt - nếu bạn đang làm một 893 00:47:30,180 --> 00:47:31,950 ứng dụng phổ quát - 894 00:47:31,950 --> 00:47:35,980 bạn có đặt một chiếc iPhone gạch dưới, hoặc bạn có thể làm một Twiddly. 895 00:47:35,980 --> 00:47:36,980 Nó không thực sự quan trọng. 896 00:47:36,980 --> 00:47:40,890 Nó chỉ đơn giản để bạn có thể phân biệt mà xem là thiết bị nào. 897 00:47:40,890 --> 00:47:43,470 898 00:47:43,470 --> 00:47:44,430 >> Và như vậy, bây giờ nhìn. 899 00:47:44,430 --> 00:47:47,550 Tôi có một màn hình mà tôi có thể làm việc với. 900 00:47:47,550 --> 00:47:53,530 Và như vậy, ví dụ, tôi có thể đặt một nhãn trên đây, bạn đã biết, và tôi cũng có thể đặt 901 00:47:53,530 --> 00:47:54,820 một nút ở đây. 902 00:47:54,820 --> 00:47:58,730 Tôi sẽ không bận tâm thay đổi các giá trị ở đây. 903 00:47:58,730 --> 00:48:09,050 >> Nhưng, điều quan trọng ở đây là rằng chủ sở hữu của tập tin - 904 00:48:09,050 --> 00:48:13,660 như vậy, tôi là bên trong của iPhone xem, tập tin iPhone xib. 905 00:48:13,660 --> 00:48:18,050 Và xuống trong khu vực chuyển hướng này hoặc trình đơn thả xuống, tôi muốn đi đến 906 00:48:18,050 --> 00:48:19,090 chủ sở hữu của tập tin. 907 00:48:19,090 --> 00:48:22,630 Và điều này là thực sự bước quan trọng ở đây. 908 00:48:22,630 --> 00:48:27,780 Tôi muốn làm cho lớp xem điều khiển, để các tập tin xib này là 909 00:48:27,780 --> 00:48:30,030 sẽ được liên kết với điều khiển quan điểm của tôi. 910 00:48:30,030 --> 00:48:33,590 911 00:48:33,590 --> 00:48:39,360 Và bất cứ điều gì mà tôi làm bên trong quan điểm của tôi bộ điều khiển lập trình là 912 00:48:39,360 --> 00:48:42,800 sẽ được phản ánh trên đây. 913 00:48:42,800 --> 00:48:46,270 >> Vì vậy, tuy nhiên, chú ý rằng - 914 00:48:46,270 --> 00:48:55,995 trên thực tế, chúng ta hãy làm cho quan điểm này màu xanh nền, ví dụ. 915 00:48:55,995 --> 00:49:00,280 916 00:49:00,280 --> 00:49:01,530 Hoặc màu xanh lá cây. 917 00:49:01,530 --> 00:49:03,870 918 00:49:03,870 --> 00:49:07,950 Và sau đó, vì vậy nếu bạn sẽ nhận thấy, trở lại trong mã này, đây là nơi mà chúng tôi đã nhận của chúng tôi 919 00:49:07,950 --> 00:49:09,200 điều khiển chuyển hướng. 920 00:49:09,200 --> 00:49:12,650 921 00:49:12,650 --> 00:49:18,310 >> Mặc dù chúng tôi đã làm bước này, đó là vẫn sẽ có màu đỏ, màu xanh lá cây không. 922 00:49:18,310 --> 00:49:20,350 Và có một lý do tại sao. 923 00:49:20,350 --> 00:49:28,090 Đó là bởi vì, khi chúng ta inited điều khiển điểm của chúng tôi, ở đây - 924 00:49:28,090 --> 00:49:30,010 xin lỗi, đó là một chút điên - 925 00:49:30,010 --> 00:49:34,520 khi chúng ta inited điều khiển điểm của chúng tôi ở đây, chúng tôi inited nó của các loại chung 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 Vì vậy, chúng tôi thậm chí không làm nó với lớp này. 929 00:49:40,560 --> 00:49:42,030 >> Vì vậy, hãy nhớ rằng, điều này giống như một lớp học bây giờ. 930 00:49:42,030 --> 00:49:47,160 Nó có thể được dùng như một loại, chỉ như UIViewController là một loại. 931 00:49:47,160 --> 00:49:51,080 Và để sử dụng đó, những gì chúng ta cần phải làm là nhập nó - 932 00:49:51,080 --> 00:49:52,520 nhập khẩu ViewController - 933 00:49:52,520 --> 00:49:55,750 và, như bạn có thể thấy, nó Tự động điền nó cho tôi. 934 00:49:55,750 --> 00:49:56,570 Vì vậy, ViewController - 935 00:49:56,570 --> 00:50:02,070 và bây giờ, ở đây, tôi có thể thay đổi UIViewController để ViewController. 936 00:50:02,070 --> 00:50:05,050 Và bây giờ, ở đây, tôi có thể thay đổi này để ViewController. 937 00:50:05,050 --> 00:50:07,790 938 00:50:07,790 --> 00:50:09,250 >> Hãy chạy này một lần nữa. 939 00:50:09,250 --> 00:50:16,970 940 00:50:16,970 --> 00:50:19,690 Nó vẫn còn đỏ. 941 00:50:19,690 --> 00:50:23,370 Và lý do tại sao nó vẫn còn màu đỏ là bởi vì - 942 00:50:23,370 --> 00:50:26,230 woah, những gì xảy ra ở đó? 943 00:50:26,230 --> 00:50:31,500 Chúng tôi muốn kết hợp xib này tập tin với bộ điều khiển xem. 944 00:50:31,500 --> 00:50:37,540 Tuy nhiên, để thực sự làm đó, chúng ta cần phải đi vào điều này. 945 00:50:37,540 --> 00:50:42,980 Và khi chúng ta init, chúng tôi muốn làm initWithNibName, và sau đó chúng tôi muốn 946 00:50:42,980 --> 00:50:48,910 làm tại chuỗi View_iPhone, ví dụ. 947 00:50:48,910 --> 00:50:51,700 Bạn có thể bỏ qua những bó ở đây. 948 00:50:51,700 --> 00:50:54,965 >> Và điều này sẽ cho phép chúng tôi, thực sự - 949 00:50:54,965 --> 00:51:00,620 950 00:51:00,620 --> 00:51:02,160 uh oh, có một vấn đề. 951 00:51:02,160 --> 00:51:09,300 952 00:51:09,300 --> 00:51:09,980 Đúng. 953 00:51:09,980 --> 00:51:17,670 >> Và như vậy, có một vấn đề bởi vì, trong tập tin xem xib của chúng tôi, chúng tôi có một nhãn và 954 00:51:17,670 --> 00:51:18,720 chúng ta có một nút. 955 00:51:18,720 --> 00:51:23,660 Tuy nhiên, mặc dù chúng ta đã kết nối hai, không có gì bên trong 956 00:51:23,660 --> 00:51:27,440 ViewController.h hoặc ViewController.m phản ánh những 957 00:51:27,440 --> 00:51:29,160 nút hoặc những nhãn. 958 00:51:29,160 --> 00:51:32,425 Vì vậy, chúng ta cần phải viết những người như thuộc tính của điều khiển xem. 959 00:51:32,425 --> 00:51:35,290 960 00:51:35,290 --> 00:51:39,490 >> Vì vậy, đây là cách bạn khai báo một tài sản. 961 00:51:39,490 --> 00:51:43,422 Phải mất trong, thông thường, hai tùy chọn. 962 00:51:43,422 --> 00:51:48,690 Theo mục đích của chúng tôi và buổi hội thảo này, Tôi xin nói rằng, nói chung, 963 00:51:48,690 --> 00:51:52,250 hầu hết các tài sản sẽ nonatomic và giữ lại. 964 00:51:52,250 --> 00:51:55,420 Bạn có thể đọc lên Google tìm kiếm, Bạn có biết, sự khác biệt giữa 965 00:51:55,420 --> 00:51:58,620 nonatomic và giữ lại, bạn biết, Google hoặc một cái gì đó. 966 00:51:58,620 --> 00:52:01,090 Và tôi sẽ đưa bạn đến, như, Stack Tràn, nơi mọi người sẽ có 967 00:52:01,090 --> 00:52:03,605 câu trả lời cho sự khác biệt giữa những người. 968 00:52:03,605 --> 00:52:07,000 Nhưng bây giờ, đó là những gì chúng tôi muốn được quan tâm. 969 00:52:07,000 --> 00:52:12,790 >> Và chúng tôi muốn thực hiện một giao diện người dùng nhãn, ngôi sao, và chúng ta có thể gọi nó là bất cứ điều gì chúng ta muốn. 970 00:52:12,790 --> 00:52:15,710 Chúng ta có thể gọi đây là, bạn đã biết, nhãn hiệu này. 971 00:52:15,710 --> 00:52:18,270 972 00:52:18,270 --> 00:52:20,110 Và, chúng tôi sẽ tạo ra một một cho các nút. 973 00:52:20,110 --> 00:52:24,380 974 00:52:24,380 --> 00:52:29,910 Và hãy nhớ để bao gồm các dấu hoa thị, bởi vì chúng ta đang đối phó với con trỏ 975 00:52:29,910 --> 00:52:36,740 khá nhiều ở khắp mọi nơi bên trong của Objective-C. 976 00:52:36,740 --> 00:52:42,110 >> Tuy nhiên, đó vẫn không giải quyết vấn đề, bạn có thể thấy ở đây. 977 00:52:42,110 --> 00:52:50,540 Và lý do là vì, bất cứ khi nào chúng tôi muốn kết nối một nhãn tập tin xib hoặc một 978 00:52:50,540 --> 00:52:55,690 nút để chương trình, hoặc tiêu đề và tập tin thực hiện, chúng tôi muốn 979 00:52:55,690 --> 00:52:58,255 thêm đoạn mã này - 980 00:52:58,255 --> 00:53:00,610 ổ cắm. 981 00:53:00,610 --> 00:53:03,600 Nhận thấy rằng đó là một từ khóa. 982 00:53:03,600 --> 00:53:07,970 >> Và, ngay sau khi tôi nhập xong mà ra, nó cần phải có những 983 00:53:07,970 --> 00:53:09,100 hai vòng tròn, ở đây. 984 00:53:09,100 --> 00:53:11,200 Thông thường, họ không điền vào 985 00:53:11,200 --> 00:53:12,920 Tôi không chắc chắn lý do tại sao họ đang có. 986 00:53:12,920 --> 00:53:21,370 Nhưng thông thường, bạn sẽ phải tự kết nối chúng bằng cách vào phía bên này 987 00:53:21,370 --> 00:53:23,530 khu vực tiện ích. 988 00:53:23,530 --> 00:53:28,430 >> Và vì vậy, ngay bây giờ, tôi đã có nhãn của tôi lựa chọn, và tôi muốn kéo mới này 989 00:53:28,430 --> 00:53:33,910 tham khảo cửa hàng cho chủ sở hữu tập tin của tôi, và sau đó bấm vào Label. 990 00:53:33,910 --> 00:53:40,230 Vì vậy, bây giờ, cuối cùng, nhãn này là kết nối với nhãn này. 991 00:53:40,230 --> 00:53:44,950 Và nhãn này là những gì chúng ta sẽ sử dụng lập trình để thay đổi nó 992 00:53:44,950 --> 00:53:49,250 văn bản, phông chữ của nó, nền tảng của nó màu sắc, vân vân. 993 00:53:49,250 --> 00:53:52,430 >> Vì vậy, tại sao chúng ta không làm tương tự cho các nút? 994 00:53:52,430 --> 00:53:54,770 Và như bạn sẽ nhận thấy, đối với các nút, đó là một chút phức tạp. 995 00:53:54,770 --> 00:53:59,060 Bởi vì, tôi có nghĩa là, bạn đang nghĩ đến bấm vào một nút, vì vậy nó có rất nhiều 996 00:53:59,060 --> 00:54:02,950 lựa chọn cho cách sử dụng có thể nhấn vào một nút. 997 00:54:02,950 --> 00:54:06,570 Và sau đó, chúng ta sẽ thấy sau này mà chúng ta có thể kết nối này để chúng tôi 998 00:54:06,570 --> 00:54:09,140 code để làm cho nó làm việc. 999 00:54:09,140 --> 00:54:12,770 >> Vì vậy, bây giờ mặc dù, chúng tôi muốn kết nối nó vào nút thực tế 1000 00:54:12,770 --> 00:54:13,570 bên trong mã của chúng tôi. 1001 00:54:13,570 --> 00:54:19,640 Vì vậy, chúng tôi đi đến cửa hàng tham khảo mới, và sau đó làm nút. 1002 00:54:19,640 --> 00:54:22,068 Bây giờ, hãy chạy này một lần nữa. 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 Tôi không biết những gì đang xảy ra ở đây bây giờ. 1006 00:54:25,140 --> 00:54:48,450 1007 00:54:48,450 --> 00:54:49,700 Whoa. 1008 00:54:49,700 --> 00:54:57,380 1009 00:54:57,380 --> 00:54:58,960 Chỉ là một thời điểm, ở đây. 1010 00:54:58,960 --> 00:55:02,490 >> Trên thực tế, lý do tại sao chúng ta không có một nhìn vào một ví dụ khác trong 1011 00:55:02,490 --> 00:55:05,800 sự quan tâm của thời gian. 1012 00:55:05,800 --> 00:55:06,200 OK. 1013 00:55:06,200 --> 00:55:10,610 Vì vậy, đây là chuẩn bị dễ dàng hơn ví dụ cho ViewController. 1014 00:55:10,610 --> 00:55:13,230 1015 00:55:13,230 --> 00:55:17,110 Như bạn có thể thấy ở đây, tôi đã bao gồm các thuộc tính cho 1016 00:55:17,110 --> 00:55:18,460 nhãn và nút. 1017 00:55:18,460 --> 00:55:20,370 Và sau đó, đoạn mã này ở đây - 1018 00:55:20,370 --> 00:55:21,830 IBAction này - 1019 00:55:21,830 --> 00:55:27,740 là một kết nối đến nút này ở đây. 1020 00:55:27,740 --> 00:55:33,940 Vì vậy, bạn có thể thấy ở đây, Touch Up Inside được kết nối với bộ chọn 1021 00:55:33,940 --> 00:55:37,390 Nút gọi là ép. 1022 00:55:37,390 --> 00:55:41,700 >> Vì vậy, chúng tôi thực sự có thể đi qua chuyển động một lần nữa, ở đây, bằng cách Touch Up 1023 00:55:41,700 --> 00:55:48,750 Bên trong và kéo nó đến Chủ sở hữu của tập tin, và sau đó 1024 00:55:48,750 --> 00:55:51,570 bấm vào nút ép. 1025 00:55:51,570 --> 00:55:52,820 Bây giờ, hãy chạy mã của chúng tôi. 1026 00:55:52,820 --> 00:55:55,710 1027 00:55:55,710 --> 00:56:02,020 Vì vậy, bây giờ, nút này hiện đang làm việc và sẽ đưa chúng ta đến trang tiếp theo. 1028 00:56:02,020 --> 00:56:08,430 >> Và, về mặt điều khiển điểm của chúng tôi, đây là đoạn mã mà mất 1029 00:56:08,430 --> 00:56:10,000 quan tâm của Button ép. 1030 00:56:10,000 --> 00:56:14,260 Và điều quan trọng cần lưu ý ở đây, Tôi đã tạo ra một loại xem 1031 00:56:14,260 --> 00:56:16,330 điều khiển được gọi là một bảng điều khiển xem. 1032 00:56:16,330 --> 00:56:19,900 Vì vậy, điều này cũng tương tự như sao lưu trong kịch bản, khi tôi kéo một trong 1033 00:56:19,900 --> 00:56:23,450 các xem bảng điều khiển vào kịch bản này. 1034 00:56:23,450 --> 00:56:24,470 Tôi là tạo ra một 1035 00:56:24,470 --> 00:56:30,000 >> Con trỏ để điều khiển xem bảng, alloc và init-ing nó, và sau đó làm 1036 00:56:30,000 --> 00:56:34,490 điều khiển chuyển hướng tự chấm, đẩy ViewController, đây mới 1037 00:56:34,490 --> 00:56:35,350 viewController. 1038 00:56:35,350 --> 00:56:39,750 Và tôi đã thiết lập các hình ảnh động để có, bởi vì bây giờ bên trong ứng dụng của tôi, và tôi 1039 00:56:39,750 --> 00:56:45,670 muốn thực sự nhìn thấy các hình ảnh động sẽ từ trang chủ để bàn 1040 00:56:45,670 --> 00:56:46,920 điều khiển xem. 1041 00:56:46,920 --> 00:56:48,830 1042 00:56:48,830 --> 00:56:51,110 >> ĐỐI TƯỢNG: Bạn vẫn lo lắng về thu gom rác thải? 1043 00:56:51,110 --> 00:56:51,840 >> RHED SHI: đó là gì? 1044 00:56:51,840 --> 00:56:54,740 Không. 1045 00:56:54,740 --> 00:56:58,970 Vì vậy, câu hỏi là, bạn có làm việc với thu gom rác thải? 1046 00:56:58,970 --> 00:57:03,470 Vì vậy, Xcode 4 có như ARC, đó là tính tham khảo tự động. 1047 00:57:03,470 --> 00:57:06,120 Và như vậy, thường là khi bạn bắt đầu một mới dự án, bạn sẽ kiểm tra xem, bởi vì 1048 00:57:06,120 --> 00:57:09,440 không ai thực sự muốn đối phó với giải phóng bộ nhớ và các công cụ. 1049 00:57:09,440 --> 00:57:13,720 Nhưng tôi nghĩ rằng trong Xcode 5, thậm chí không có rằng sự lựa chọn về dự án mới. 1050 00:57:13,720 --> 00:57:16,750 Vì vậy, nó sẽ tự động nào đó cho bạn. 1051 00:57:16,750 --> 00:57:16,920 Có? 1052 00:57:16,920 --> 00:57:20,970 >> ĐỐI TƯỢNG: Bạn có thể xuất khẩu một PDF trong kịch bản của bạn? 1053 00:57:20,970 --> 00:57:22,020 >> RHED SHI: Vâng, chắc chắn. 1054 00:57:22,020 --> 00:57:28,180 Vì vậy, tất cả trong số này sẽ được bao gồm trong mã nguồn, vì vậy các bạn có thể kiểm tra 1055 00:57:28,180 --> 00:57:30,730 dự án Xcode thực tế cho nó. 1056 00:57:30,730 --> 00:57:31,105 Yeah? 1057 00:57:31,105 --> 00:57:35,944 >> ĐỐI TƯỢNG: Nhưng, tôi có nghĩa là, như, tôi có thể in PDF với kịch bản của tôi? 1058 00:57:35,944 --> 00:57:38,920 Nếu tôi chỉ muốn xuất khẩu hình ảnh để hiển thị một ai đó. 1059 00:57:38,920 --> 00:57:39,160 >> RHED SHI: Oh yeah. 1060 00:57:39,160 --> 00:57:41,980 Tôi nghĩ rằng, có thể, bạn có thể chỉ chụp màn hình. 1061 00:57:41,980 --> 00:57:44,350 Yeah, và gửi cho họ một màn hình bắn hoặc một cái gì đó. 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 >> Vì vậy, chúng ta hãy xem. 1065 00:57:50,570 --> 00:57:56,470 Vì lợi ích của thời gian, tôi nghĩ rằng đó là tất cả tôi có thể bao gồm ngày hôm nay. 1066 00:57:56,470 --> 00:57:59,600 Nhưng, tôi biết đó là, trên thực tế, chỉ cần hầu như không chạm vào các bề mặt của iOS 1067 00:57:59,600 --> 00:58:00,370 phát triển. 1068 00:58:00,370 --> 00:58:05,630 Vì vậy, xin vui lòng liên hệ với tôi nếu bạn có thắc mắc về iOS 1069 00:58:05,630 --> 00:58:07,000 phát triển. 1070 00:58:07,000 --> 00:58:12,840 Và, hy vọng, tôi sẽ có thể làm sạch một số các mã cho nguồn 1071 00:58:12,840 --> 00:58:16,830 các tập tin mã, do đó bạn sẽ có một số ví dụ thực sự tốt đẹp để làm việc với. 1072 00:58:16,830 --> 00:58:21,020 >> Ngoài ra, nếu các bạn đang đi đến CS50 Hackathon, tôi có thể có hoặc có thể 1073 00:58:21,020 --> 00:58:25,730 không có mặt ở đó, và tôi có thể giúp đỡ với một số phát triển iOS, quá. 1074 00:58:25,730 --> 00:58:26,980 Vì vậy, cảm ơn rất nhiều, các cậu. 1075 00:58:26,980 --> 00:58:31,168