1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,340 >> 다니엘 ARMENDARIZ : 안녕하세요, 여러분, iOS 앱 개발에 오신 것을 환영합니다 3 00:00:14,340 --> 00:00:15,020 신속한와. 4 00:00:15,020 --> 00:00:15,870 댄 Armendariz 해요. 5 00:00:15,870 --> 00:00:18,920 나는 컴퓨터의 precepter 해요 학교에서 여기에 과학 6 00:00:18,920 --> 00:00:21,200 엔지니어링 및 응용 과학. 7 00:00:21,200 --> 00:00:24,310 그리고 빠른 종류 실제로 정말 깔끔한 언어의. 8 00:00:24,310 --> 00:00:27,190 그리고 오늘은 어떤 계획을 가지고있다. 9 00:00:27,190 --> 00:00:31,430 다음 시간 이상 또는 무슨 짓을 그래서 iOS 앱 개발 자체를 찾으려면 10 00:00:31,430 --> 00:00:36,640 엑스 코드를 사용하여 실제로 일부를 생성 아주 기본적인, 아주 간단한 응용 프로그램. 11 00:00:36,640 --> 00:00:40,070 그리고 그 길을보고 당신을 실제로 해당 응용 프로그램을, 12 00:00:40,070 --> 00:00:42,887 실제로을 구축하고, iOS 기기에 넣어. 13 00:00:42,887 --> 00:00:44,970 어떤 것들은 그 우리는보고하지 않을거야 14 00:00:44,970 --> 00:00:47,540 같은 것들을 포함한다 실제로 응용 복용 15 00:00:47,540 --> 00:00:48,940 그리고 앱 스토어에 퍼팅. 16 00:00:48,940 --> 00:00:52,930 튜토리얼의 많은 온라인이있다 그것의 측면에 도움이 될 것입니다. 17 00:00:52,930 --> 00:00:56,230 그러나 또한 있기 때문에 CS50의 일부, 당신은 얻을 18 00:00:56,230 --> 00:00:59,780 애플 개발에 참여하는 팀, CS50의 응용 프로그램 개발 팀. 19 00:00:59,780 --> 00:01:02,790 아직 그렇게하지 ​​않은 경우와 당신은 CS50와 제휴, 20 00:01:02,790 --> 00:01:04,810 난 당신이하는 것이 좋습니다 않습니다 그 때문에 그렇게 21 00:01:04,810 --> 00:01:08,820 당신이 만들 수있다 방법이다 엑스 코드의 일부 프로그램, 22 00:01:08,820 --> 00:01:11,890 를 구축하고, 실제로 넣어 당신의 iOS 장치의 일부에 그 23 00:01:11,890 --> 00:01:14,087 실제로이있는 경우 실제 iOS 기기. 24 00:01:14,087 --> 00:01:16,670 당신은 물리적 아이폰 OS가 없다면 좋은 것보다 더 중요한 장치입니다. 25 00:01:16,670 --> 00:01:19,810 당신은 실제로 iOS 용 개발할 수 있습니다. 26 00:01:19,810 --> 00:01:22,390 그리고 엑스 코드가있다 당신을 허용 시뮬레이터 27 00:01:22,390 --> 00:01:26,570 에서 응용 프로그램을 볼 수 컴퓨터 작업입니다. 28 00:01:26,570 --> 00:01:30,440 그러나 그것은 종류의 깔끔한 일 실제로 연주하고 상호 작용할 수 있습니다 29 00:01:30,440 --> 00:01:34,235 신청서와 함께 실제 장치에. 30 00:01:34,235 --> 00:01:37,360 그래서 요구 사항의 몇 가지에가있다 실제로 개발의 모든 작업을 수행 할 수 있습니다. 31 00:01:37,360 --> 00:01:39,151 그 중 하나는 것입니다 Mac이 있어야합니다. 32 00:01:39,151 --> 00:01:44,770 그것은 나중에 10.9.4 이상을 실행해야합니다 신속한와 개발을하기 위해. 33 00:01:44,770 --> 00:01:47,770 >> 당신은 이전 버전을 사용할 수 있습니다 버전 개발 34 00:01:47,770 --> 00:01:50,810 아이폰 OS와 Mac에 대한 목표 C와. 35 00:01:50,810 --> 00:01:53,990 하지만 추천하고, 많은 오늘날 우리가 볼 수 예, 36 00:01:53,990 --> 00:01:55,700 10.10 요세미티를 사용합니다. 37 00:01:55,700 --> 00:02:00,910 아직 업그레이드하지 않은 경우에 따라서, 그렇게 할 수있는 좋은 변명. 38 00:02:00,910 --> 00:02:05,480 이제 엑스 코드 6.1의 최신 버전입니다 통합 개발 환경 39 00:02:05,480 --> 00:02:08,979 애플은 무료로 제공 당신은 앱 스토어를 다운로드 할 수 있습니다. 40 00:02:08,979 --> 00:02:11,220 그리고 당신이하는 것이 좋습니다 또한 최신 버전을 실행합니다. 41 00:02:11,220 --> 00:02:14,700 >> 당신은 이전의 작동하고자하는 경우 버전, 엑스 코드 5 단지 아래 42 00:02:14,700 --> 00:02:16,741 단순히 무엇이든지 신속 지원하지 않습니다. 43 00:02:16,741 --> 00:02:19,490 여섯 그리고 베타 버전, 어떤 여름 동안 출시 된, 44 00:02:19,490 --> 00:02:21,770 신속한 지원한다,하지만 거기에 엄청난 수 있었다 45 00:02:21,770 --> 00:02:25,220 언어의 변화, 충분히 그래서 당신이있어 코드 46 00:02:25,220 --> 00:02:28,320 로하고 있음을 볼 것 인터넷에서 찾을 수 있습니다 47 00:02:28,320 --> 00:02:33,294 실제로 제대로 컴파일되지 않습니다 엑스 코드의 이러한 이전 버전에서. 48 00:02:33,294 --> 00:02:35,460 그래서 다시, 당신이 경우 아직 개발자 계정을 가지고, 49 00:02:35,460 --> 00:02:38,560 난 당신이로 이동하는 것이 좋습니다 developer.apple.com. 50 00:02:38,560 --> 00:02:42,240 가입하신 개발자 계정을 생성, 과 CS50 앱 개발 팀에 합류. 51 00:02:42,240 --> 00:02:45,530 그 기회를 당신에게 제공 할 것입니다 응용 프로그램을 컴파일 52 00:02:45,530 --> 00:02:47,840 및 장치에 넣어. 53 00:02:47,840 --> 00:02:49,222 OK, 그래서 시작합시다. 54 00:02:49,222 --> 00:02:50,930 제일 처음 우리는 어떻게되는거야 55 00:02:50,930 --> 00:02:55,140 실제로 매우를 만들려면 엑스 코드의 간단한 프로젝트 56 00:02:55,140 --> 00:02:59,530 그것은 당신에게 수 응용 프로그램을 확인합니다. 57 00:02:59,530 --> 00:03:03,170 >> 아직 엑스 코드가없는 경우에 따라서 개방 가서 엽니 다 58 00:03:03,170 --> 00:03:04,270 새로운 프로젝트를 만듭니다. 59 00:03:04,270 --> 00:03:06,570 특별한 시작 화면 열리고 줄 것이다 60 00:03:06,570 --> 00:03:08,800 무엇에 대한 몇 가지 옵션 그것은 당신이 원하는 것입니다. 61 00:03:08,800 --> 00:03:12,170 생성하기를 원한다고 새 프로젝트, 새로운 응용 프로그램입니다. 62 00:03:12,170 --> 00:03:15,650 이 창은 나타납니다 당신은 엑스 코드 6.1를 사용하는 가정. 63 00:03:15,650 --> 00:03:17,650 지금과에 대한 이 세미나 기간, 64 00:03:17,650 --> 00:03:19,990 우리가 사용하게 될거야 하나의 응용 프로그램보기, 단지 65 00:03:19,990 --> 00:03:22,590 기본 응용 프로그램의 종류 발을 젖지합니다. 66 00:03:22,590 --> 00:03:25,200 그리고 당신은 밖으로 분기 할 수 거기에서 자신에. 67 00:03:25,200 --> 00:03:27,660 >> 이 시점에서 다음을 클릭합니다. 68 00:03:27,660 --> 00:03:30,796 이제 여기에 몇 가지가있다 당신은 입력 할 수 있음. 69 00:03:30,796 --> 00:03:32,670 제품명은 프로젝트의 이름입니다. 70 00:03:32,670 --> 00:03:34,859 이 경우, 그냥 해요 호출하려고 Seminar1 71 00:03:34,859 --> 00:03:36,150 우리의 첫 번째 예제이기 때문에. 72 00:03:36,150 --> 00:03:38,290 조직 이름에서 이 경우 그냥 내 이름입니다. 73 00:03:38,290 --> 00:03:41,760 당신은 물론 변경할 수 있습니다 자신의 이름, 또는 CS50에. 74 00:03:41,760 --> 00:03:46,160 조직 식별자, 당신 경우 단지 걸릴 웹 사이트가하는 일 75 00:03:46,160 --> 00:03:49,940 도메인 이름 , com.yourname 역. 76 00:03:49,940 --> 00:03:54,200 생성물의 후 이름 자동으로 나타납니다 77 00:03:54,200 --> 00:03:55,820 번들 식별자로 그 이후. 78 00:03:55,820 --> 00:03:59,200 >> 우리가있어 분명히 언어 오늘 사용하는 것으로가는 빠른입니다. 79 00:03:59,200 --> 00:04:02,590 사용자는 물론, 목표 C를 사용하여 그것을 위해,하지만 오늘은 빠른 것입니다. 80 00:04:02,590 --> 00:04:04,920 그리고 우리는 지금 말할 것이다 보편적 인 장치, 그래서 81 00:04:04,920 --> 00:04:06,900 그것이 아이 패드와 아이폰 모두에서 작동합니다. 82 00:04:06,900 --> 00:04:10,040 그리고 우리는 코어를 떠나 유지되지 않은 데이터 83 00:04:10,040 --> 00:04:12,830 프로젝트 상대적으로 당분간은 간단합니다. 84 00:04:12,830 --> 00:04:14,430 그럼 가서 다음을 클릭 할 수 있습니다. 85 00:04:14,430 --> 00:04:16,471 그리고 그것은 나 한테 물어 것 어디를 저장할. 86 00:04:16,471 --> 00:04:19,250 나는 지금 내 바탕 화면에 저장합니다. 87 00:04:19,250 --> 00:04:22,267 >> 좋아, 그래서 지금이 무슨 뜻 때 실제로 열린 엑스 코드를 발생. 88 00:04:22,267 --> 00:04:24,100 그리고 알 당신이보고 제일 처음 89 00:04:24,100 --> 00:04:28,770 이 느낌표입니다 찾을 수 없습니다 서명 ID는 말한다. 90 00:04:28,770 --> 00:04:31,520 나는 의도적으로 이런 짓을 난 내 컴퓨터에 91 00:04:31,520 --> 00:04:34,220 내가 갈거야 것으로 기대 실제로 문제를 해결할 수 92 00:04:34,220 --> 00:04:37,860 내가 원하기 때문에 당신은 어떻게이를 볼 수 있습니다 실제로 자신의 컴퓨터에서 작동합니다. 93 00:04:37,860 --> 00:04:40,400 >> 가서 수정 문제를 클릭합니다. 94 00:04:40,400 --> 00:04:45,400 당신이있는 경우에 그것은 당신을 요청합니다 애플 개발자 계정을 기존의. 95 00:04:45,400 --> 00:04:48,330 합류하는 곳이다 CS50 응용 프로그램 개발 팀 96 00:04:48,330 --> 00:04:51,240 중요 있도록하지 전용 앱 계정을 가지고, 97 00:04:51,240 --> 00:04:53,690 하지만 당신은 또한이 기능은 응용 프로그램에 서명 98 00:04:53,690 --> 00:04:56,420 및 iOS 기기에 넣어. 99 00:04:56,420 --> 00:04:58,957 이것은 아직 ... 클릭입니다 수정 문제는 필요하지 않습니다 100 00:04:58,957 --> 00:05:01,040 당신은 단지 위하여려고하는 경우에 구축하고 로컬 개발, 101 00:05:01,040 --> 00:05:03,520 완전히 아이폰 OS 시뮬레이터 내에서. 102 00:05:03,520 --> 00:05:05,820 >> 하지만 지금은 내가 갈거야 개발을 넣어 103 00:05:05,820 --> 00:05:08,160 내 아이 패드에있을 것이다 뿐만 아니라 방송 할 수. 104 00:05:08,160 --> 00:05:10,770 그래서 실제로이를 추가 할 않습니다. 105 00:05:10,770 --> 00:05:13,670 그리고 그것은 물어 것 내 애플 ID로 저. 106 00:05:13,670 --> 00:05:15,700 그래서이 될 것입니다. 107 00:05:15,700 --> 00:05:18,940 그리고 나는 나의를 가져가 여기입니다 암호. 108 00:05:18,940 --> 00:05:27,760 그래서를 찾기 위해 나에게 한 두 번째 줄, 것을 복사하고, 여기 위에 붙여 넣습니다. 109 00:05:27,760 --> 00:05:28,580 >> 추가를 클릭합니다. 110 00:05:28,580 --> 00:05:31,095 그것은 나 한테 물어 것 어느 팀이 내가 가입하려는. 111 00:05:31,095 --> 00:05:33,240 나는 공학부을 할거야. 112 00:05:33,240 --> 00:05:35,680 참가를 클릭합니다. 113 00:05:35,680 --> 00:05:37,780 으악, 그 잘못 하나입니다. 114 00:05:37,780 --> 00:05:40,730 자,이 하나를 보자. 115 00:05:40,730 --> 00:05:42,060 희망 하나가 작동합니다. 116 00:05:42,060 --> 00:05:44,220 그 하나는 여전히 작동하지 않습니다. 117 00:05:44,220 --> 00:05:46,610 우리는 여기서 좋은 사람이 없어. 118 00:05:46,610 --> 00:05:48,260 OK,이 작업을해야합니다. 119 00:05:48,260 --> 00:05:50,816 이제을 닫습니다. 120 00:05:50,816 --> 00:05:54,450 이제 학교를하자 엔지니어링, 선택을 클릭합니다. 121 00:05:54,450 --> 00:06:00,190 >> 이제 희망 후 확인을하고 있는데 ... 초 커플, 122 00:06:00,190 --> 00:06:02,550 나는 취소 요청합니다. 123 00:06:02,550 --> 00:06:05,410 오 이런,이 작동하지 않을 것입니다. 124 00:06:05,410 --> 00:06:08,890 좋아, 내가 다른 하나를 시도 할 것이다. 125 00:06:08,890 --> 00:06:11,167 여기서이 하나를 보자. 126 00:06:11,167 --> 00:06:17,020 127 00:06:17,020 --> 00:06:19,310 라이브 데모 나를 실패. 128 00:06:19,310 --> 00:06:22,540 우리는 단지에 복귀 할 수 있습니다 로컬 완전히 구축, 129 00:06:22,540 --> 00:06:25,050 하지만이 경우에는 확인이 될 것이다. 130 00:06:25,050 --> 00:06:28,560 >> 그래서 여기,이 실제로있는 동안 작업은, 우리가 무엇을 할 거 야 그냥이다 131 00:06:28,560 --> 00:06:31,190 매우 간단하게 만들 안녕하세요 세계 응용 프로그램입니다. 132 00:06:31,190 --> 00:06:32,340 그래서이 엑스 코드입니다. 133 00:06:32,340 --> 00:06:37,300 그리고 당신은, 아직 본적하지 않은 경우 처음에는 조금 협박을 할 수 있습니다. 134 00:06:37,300 --> 00:06:41,430 창 많이있다, 거기에 다양한 분야의 장식물을 많이. 135 00:06:41,430 --> 00:06:44,300 그러나 단지가 있다는 것을 깨닫게 정말 몇 가지 주요 구성 요소 136 00:06:44,300 --> 00:06:46,580 이러한 개발 환경에 관한 것이다. 137 00:06:46,580 --> 00:06:51,090 맨 왼쪽에있는 모든 파일입니다 프로그램에 적용 할 수있는 그 138 00:06:51,090 --> 00:06:52,997 또는 특정 프로젝트에. 139 00:06:52,997 --> 00:06:55,080 우리는 약 클릭 할 수 있습니다 그들 중 일부와 우리는거야 140 00:06:55,080 --> 00:06:57,660 가장 지적 시간이 지남에 중요한 것. 141 00:06:57,660 --> 00:06:59,650 오른쪽에, 우리 속성 세트를 갖는다. 142 00:06:59,650 --> 00:07:02,920 그리고이 모든 속성이 속성에 대한 여러 창입니다. 143 00:07:02,920 --> 00:07:06,770 창은에 따라 변경됩니다 메인 컨텐츠의 컨텍스트 어느 144 00:07:06,770 --> 00:07:08,290 중간에 발생합니다. 145 00:07:08,290 --> 00:07:11,740 이제 중간 실제로 표시 할 수 있습니다 예를 들어, 일의 당신 다양한 146 00:07:11,740 --> 00:07:13,290 코드 자체. 147 00:07:13,290 --> 00:07:17,070 또는 당신은 실제로 때 드 니스, 니가 있습니다 당신은 스토리 보드를 클릭한다 148 00:07:17,070 --> 00:07:21,270 , 그런데, 단지 그래픽입니다 사용자의 표현 149 00:07:21,270 --> 00:07:25,350 당신의 어플리케이션 작성을위한 인터페이스 다음 속성 창 150 00:07:25,350 --> 00:07:27,334 아주 멀리 오른쪽에 실제로 변경됩니다. 151 00:07:27,334 --> 00:07:29,750 이제 다른 몇 가지가있다 내가 지적하고 싶은 것. 152 00:07:29,750 --> 00:07:33,360 당신은 종류의 주위에 둘러 볼 수 있습니다 자신의 환경에서. 153 00:07:33,360 --> 00:07:35,730 그러나 것들 중 하나 그것은 매우 유용했다 154 00:07:35,730 --> 00:07:38,470 이 버튼은 여기 창의 오른쪽 상단. 155 00:07:38,470 --> 00:07:41,230 이 버튼이있다 그 멀리에 보이는 156 00:07:41,230 --> 00:07:46,090 왼쪽은 단락을 가지고 두 개의 원과 종류 다음 157 00:07:46,090 --> 00:07:49,540 두 개의 화살표 가리키는 서로 떨어져. 158 00:07:49,540 --> 00:07:52,640 당신은 사이를 전환하는 경우 표준 편집기, 어떤 159 00:07:52,640 --> 00:07:55,560 가장 왼쪽에 하나, 하나는 즉, 기본적으로 선택되어 160 00:07:55,560 --> 00:08:01,040 두 원이 겹치는 당신이 실제로 무엇을 얻을, 서로 161 00:08:01,040 --> 00:08:02,210 이중 창보기입니다. 162 00:08:02,210 --> 00:08:04,240 >> 그리고 이것은 실제로 우리에게 유용 할 것 163 00:08:04,240 --> 00:08:07,330 우리는 항목을 연결해야하는 경우 코드로 UI에서. 164 00:08:07,330 --> 00:08:09,330 그리고 우리에 대한 자세한 내용을 얘기하자 단지 순간에 그. 165 00:08:09,330 --> 00:08:12,050 그러나 당신이 얻을 경우 실현 이 같은 더 많은 창, 166 00:08:12,050 --> 00:08:15,830 당신은 당신의보기를 단순화 할 수 있습니다 다시 클릭하여 조금 167 00:08:15,830 --> 00:08:20,680 당신의 단일 편집기에. 168 00:08:20,680 --> 00:08:21,580 지금까지 너무 좋아. 169 00:08:21,580 --> 00:08:24,560 그래서 기본적으로 우리는 코드에가 왼쪽, 오른쪽에 속성 170 00:08:24,560 --> 00:08:28,260 그리고 우리가 최선을 다하고 뭐든 여기에 중심에에. 171 00:08:28,260 --> 00:08:30,390 >> 그래서 나는 여기를 클릭했습니다 메인 스토리 보드에. 172 00:08:30,390 --> 00:08:33,350 그리고 스토리 보드, 다시, 엑스 코드의 방법입니다 173 00:08:33,350 --> 00:08:38,110 당신은 실제로 사용자를 만들 수 있습니다 드래그 앤 드롭 인터페이스를 사용하여 174 00:08:38,110 --> 00:08:39,130 기술. 175 00:08:39,130 --> 00:08:41,190 그리고 바로 우리에 대한 첫 번째 응용 프로그램이 176 00:08:41,190 --> 00:08:42,720 우리가 무엇을 할 것인지 정확하게이다. 177 00:08:42,720 --> 00:08:45,950 우리는 아래로 갈거야 아주 멀리 오른쪽 하단 178 00:08:45,950 --> 00:08:49,900 포함하는 화면의 사용자 다양한 요소 179 00:08:49,900 --> 00:08:53,270 당신은 클릭 및 드래그 할 수 사용자 인터페이스를 만들 수 있습니다. 180 00:08:53,270 --> 00:08:55,550 >> 이제이 모든 요소는 전망이라고합니다 181 00:08:55,550 --> 00:08:57,370 그들은보기 어떤 종류의를 제공하기 때문이다. 182 00:08:57,370 --> 00:09:00,190 이미지보기 위해,있다 예를 들어, 실제로 보여 183 00:09:00,190 --> 00:09:01,740 사용자 인터페이스에 화상. 184 00:09:01,740 --> 00:09:04,310 테이블 뷰가있다 실제로 테이블을 보여줍니다. 185 00:09:04,310 --> 00:09:05,190 등등 등등. 186 00:09:05,190 --> 00:09:08,250 다양한 종류가있다 당신이 선택할 수 있습니다 전망. 187 00:09:08,250 --> 00:09:11,100 그래서 지금 우리가 가고있는 대한 레이블을 검색합니다. 188 00:09:11,100 --> 00:09:13,550 당신은 스크롤 할 수 있습니다 거기에 모든 목록. 189 00:09:13,550 --> 00:09:15,460 그러나 검색있다 맨 아래에 바 190 00:09:15,460 --> 00:09:19,460 그보다 쉽게​​ 식별 할 수 있습니다 특정 뷰 당신 실제로 191 00:09:19,460 --> 00:09:22,020 사용자 인터페이스로 끌어 놓습니다. 192 00:09:22,020 --> 00:09:23,560 >> 내 레이블을 발견. 193 00:09:23,560 --> 00:09:28,430 내가 직접, 여기에 드래그거야 내 샘플 응용 프로그램 상. 194 00:09:28,430 --> 00:09:30,130 바로 거기 중간 좋아 보인다에서. 195 00:09:30,130 --> 00:09:33,180 그리고 입력 할거야 "여러분, 안녕하세요!" 196 00:09:33,180 --> 00:09:33,810 Enter 키를 누르십시오. 197 00:09:33,810 --> 00:09:34,877 지금은 레이블이. 198 00:09:34,877 --> 00:09:36,960 이처럼은 보이지 않는다 아주 제대로 중심. 199 00:09:36,960 --> 00:09:38,500 그래서 나는 그것을 다시 중심을 시도 할 수 있습니다. 200 00:09:38,500 --> 00:09:42,100 다행히 이러한 제공 상황이 훨씬 더 쉽게 안내합니다. 201 00:09:42,100 --> 00:09:44,130 나는 그것을 컴파일하려고거야. 202 00:09:44,130 --> 00:09:46,570 바라 건데 실제로 여기에 작동합니다. 203 00:09:46,570 --> 00:09:52,870 그리고 그것은 단지 순간에,없는 경우 그것은 사실 내 아이 패드에 나타납니다. 204 00:09:52,870 --> 00:09:54,360 바로 여기입니다. 205 00:09:54,360 --> 00:09:55,060 이 그것입니다. 206 00:09:55,060 --> 00:09:56,590 >> 좋아, 그럼 바로 그거야. 207 00:09:56,590 --> 00:09:57,160 우린 끝났어. 208 00:09:57,160 --> 00:09:58,868 우리는 우리의 매우 만든 첫 번째 응용 프로그램. 209 00:09:58,868 --> 00:10:01,330 이제 분명이 아무것도하지 않습니다. 210 00:10:01,330 --> 00:10:02,280 그냥 레이블입니다. 211 00:10:02,280 --> 00:10:07,350 사이에 연결이 없습니다 사용자 인터페이스 및 코드. 212 00:10:07,350 --> 00:10:10,130 우리가 실제로 원하는 경우에 따라서 이 연결을 만들려면 213 00:10:10,130 --> 00:10:14,790 우리는 실제로 어떤 종류를 원한다면 요소 간의 통신 214 00:10:14,790 --> 00:10:17,540 에 존재하는 화면과 코드가 215 00:10:17,540 --> 00:10:19,810 우리가 제어 할 수 있습니다 다음 이러한 요소, 216 00:10:19,810 --> 00:10:23,570 우리가 실제로 필요 코드 자체를 봐주세요. 217 00:10:23,570 --> 00:10:27,000 >> 그래서이라고 무엇인가 ViewController.swift. 218 00:10:27,000 --> 00:10:30,080 특히 용, 용 첫 번째 몇 가지 프로그램, 219 00:10:30,080 --> 00:10:33,120 이것은 일종의 될 것입니다 당신이 enter-- 코드의 대량 220 00:10:33,120 --> 00:10:35,980 여기에이 문서에 될 것입니다. 221 00:10:35,980 --> 00:10:38,390 일이 너무 많아 즉, 여기에 지금까지, 맞아? 222 00:10:38,390 --> 00:10:42,660 수입 UI 키트 클래스가있다, 오버라이드 (override) [? 펑크,?]이 모든 여러 가지. 223 00:10:42,660 --> 00:10:45,820 그리고 그것은 매우 분명하지 않다 무엇 그것은이 모든 의미입니다. 224 00:10:45,820 --> 00:10:48,570 그럼 다시 거리에 조치를 취할 수 있도록 엑스 코드에서 약간에 대한 225 00:10:48,570 --> 00:10:52,420 그리고 언어 자체, 빠른 봐. 226 00:10:52,420 --> 00:10:56,370 >> 신속한와 그래서, 그것은에 있었다 설계 및 개발 227 00:10:56,370 --> 00:10:58,645 약 4에 대한 애플의 나의 이해 년. 228 00:10:58,645 --> 00:11:01,270 그리고 기능의 몇 가지있다 그것에 대해 정말 깔끔 그. 229 00:11:01,270 --> 00:11:03,910 우선,이 컴파일되어 언어, 그냥 다 좋아 230 00:11:03,910 --> 00:11:06,120 그래서 처음에이 컴파일하고 실행 231 00:11:06,120 --> 00:11:09,580 당신이 실제로 할 수있는 전 결과 코드를 실행합니다. 232 00:11:09,580 --> 00:11:14,250 그러나 C와 달리, 상호 작용,이 실제로 실행할 수있는 프롬프트 233 00:11:14,250 --> 00:11:16,680 과에 임의의 명령을 입력합니다. 234 00:11:16,680 --> 00:11:20,280 그리고 매우 자바 스크립트 콘솔처럼, 이제 익숙 할 수있는, 235 00:11:20,280 --> 00:11:24,506 실제로 사람들을 평가합니다 명령 및 출력을 제공한다. 236 00:11:24,506 --> 00:11:26,380 그리고 그들은 심지어 촬영했습니다 그 다음 단계로 237 00:11:26,380 --> 00:11:29,100 그들은 뭔가를 만들었습니다 엑스 코드에서 호출 놀이터 238 00:11:29,100 --> 00:11:31,720 다음을 수행 할 수 있도록 그 시각적 코드와 함께 작동합니다. 239 00:11:31,720 --> 00:11:34,910 그리고 우리는 실제로 몇 가지 예를 볼 수 있습니다 조금의 그. 240 00:11:34,910 --> 00:11:41,680 그것은 C. C의 기초 기반으로 그것은, 모든 컴파일러 때문에 241 00:11:41,680 --> 00:11:46,820 C에서 코드를 생성하고 그것에서 오브젝트 코드를 생성합니다. 242 00:11:46,820 --> 00:11:49,240 그러나 실제로 주 상대적으로 작은 구문. 243 00:11:49,240 --> 00:11:50,721 그것은 상당히 다르게 나타납니다. 244 00:11:50,721 --> 00:11:51,970 일부 유사성이있을 수 있습니다. 245 00:11:51,970 --> 00:11:54,140 그러나이있을거야 아주 약간의 차이 246 00:11:54,140 --> 00:11:57,200 말하자면, 자바 스크립트 나 PHP에 비해. 247 00:11:57,200 --> 00:11:59,070 그리고 우리는 이러한하겠다 잠시 아웃. 248 00:11:59,070 --> 00:12:01,420 >> 가장 큰 것의 이제 하나 대한 신속한 멋지네요 249 00:12:01,420 --> 00:12:05,650 특히 비교한다는 것입니다 C로, 이는 안전을 의미하는 것. 250 00:12:05,650 --> 00:12:08,100 그 안에 모든 것이에 의미 매우 강력하게 입력 할. 251 00:12:08,100 --> 00:12:10,780 사실 그것은 거의 짜증나 처음에, 때 처음 252 00:12:10,780 --> 00:12:15,610 얼마나 신속한 작업 시작 많이 사방 유형을 적용합니다. 253 00:12:15,610 --> 00:12:17,860 문자열의 건 문자열 남아있다. 254 00:12:17,860 --> 00:12:22,100 그것은 변환의 정렬하는 것은 매우 어렵다 그것은 다른 형태로 강요 나. 255 00:12:22,100 --> 00:12:23,800 >> 그리고 다시, 우리는이의 예를 보여 드리겠습니다. 256 00:12:23,800 --> 00:12:26,830 그러나 궁극적으로 실현 이는 당신을 보호하기위한 것입니다 257 00:12:26,830 --> 00:12:32,010 그리고 당신에 의해 전에서 코드를 의미 어떤 끔찍한 방법으로했을 때의 충돌 258 00:12:32,010 --> 00:12:34,330 당신은 일치하지 않는 유형의 어떤 종류가있다. 259 00:12:34,330 --> 00:12:36,040 그리고 또, 그와 함께 작동합니다. 260 00:12:36,040 --> 00:12:40,210 처음에는 복잡 할 것이기 때문에 당신은 이유를 정확하게 파악하려고으로 261 00:12:40,210 --> 00:12:43,070 이 특이한 있어요 유형을 처리 오류가 발생했습니다. 262 00:12:43,070 --> 00:12:45,350 그러나 결국 그것을 가치가있을 것입니다. 263 00:12:45,350 --> 00:12:47,267 >> 그것은 자동 처리 않습니다 메모리 관리, 264 00:12:47,267 --> 00:12:49,100 그래서 더 이상 수행하지 일을 처리해야 265 00:12:49,100 --> 00:12:51,400 malloc에​​ 무료 및 모두 같은 사물의 이러한 종류의. 266 00:12:51,400 --> 00:12:53,066 그리고 그것은 또한 보편성을 위해 설계되었습니다. 267 00:12:53,066 --> 00:12:58,360 우리는 엑스 코드로를 사용할 수 있고, 그래서 아이폰 OS 응용 프로그램 및 Mac 응용 프로그램을 만들 수 268 00:12:58,360 --> 00:13:00,380 우리는 단지 그것을 사용할 수 있습니다 스크립트 언어로. 269 00:13:00,380 --> 00:13:03,660 그래서 우리는 종류를 사용할 수 있습니다 의 대신 PHP 또는 대신 270 00:13:03,660 --> 00:13:07,800 파이썬의 사실에 빠르게 분석 및 프로세스 271 00:13:07,800 --> 00:13:09,800 우리는 우리의 컴퓨터에있는 일부 데이터. 272 00:13:09,800 --> 00:13:13,290 >> 그것은 현대의 다양한있다 기능, optionals, 가변성, 273 00:13:13,290 --> 00:13:17,900 제네릭, 클로저,이 많은 사용자가 모를 수도 물건. 274 00:13:17,900 --> 00:13:22,810 그리고 그냥 그렇게 불행한 일 언어의 일부 이들 중 일부 275 00:13:22,810 --> 00:13:26,700 미래, 현대적인 요소의 종류 그 요소가 포함되어 있습니다 276 00:13:26,700 --> 00:13:34,520 너무 깊이 배어 든 나는 실제로 것 당신이 조금 CS50.5 가르 칠해야합니다. 277 00:13:34,520 --> 00:13:37,305 >> 우리는 조금 더를 배울 수있다 순서의 일부 기능에 대한 278 00:13:37,305 --> 00:13:40,180 정말 무슨 일이 일어나고 있는지 이해하기 그래서 당신이 코드를 볼 수 있음에 279 00:13:40,180 --> 00:13:42,450 완전히 잃어버린 생각하지. 280 00:13:42,450 --> 00:13:44,820 그리고 당신은 내가 무슨 뜻인지 확인할 수 다만 분에 해당하여. 281 00:13:44,820 --> 00:13:47,830 이것의 확인, 그래서 let's-- 충분히 이론적 물건의 종류. 282 00:13:47,830 --> 00:13:52,450 의 실제를 살펴 보자 우리 첫 번째 빠른 프로그램입니다. 283 00:13:52,450 --> 00:13:53,590 이 한 줄의 코드입니다. 284 00:13:53,590 --> 00:13:57,690 14 행 바로 여기, 그것을 인쇄 L n 개의 헬로 CS50는 말한다. 285 00:13:57,690 --> 00:14:01,160 >> 그래서 몇 가지가있다 이 비교에 대해 매우 다른 286 00:14:01,160 --> 00:14:04,140 당신이 할 수있는 것들 예를 들어, C에서 사용. 287 00:14:04,140 --> 00:14:08,390 그 중 하나가 '아니오'가 있다는 없습니다 intmain, 어떤 섹션을 포함 없다, 288 00:14:08,390 --> 00:14:10,790 이 여분의 물건 하나도 없다. 289 00:14:10,790 --> 00:14:13,790 표준처럼 포함 I / O, 도서관 등 290 00:14:13,790 --> 00:14:16,580 실제로을 제공하는 언어의 표준 기능, 291 00:14:16,580 --> 00:14:19,180 자동으로 포함되어 SWIFT의 표준 라이브러리의 일부 292 00:14:19,180 --> 00:14:20,680 그 자동으로 가져옵니다. 293 00:14:20,680 --> 00:14:23,740 당신은 할 필요가 없습니다 수동으로 가져 오기. 294 00:14:23,740 --> 00:14:27,360 >> Intmain가 있기 때문에 존재하지 않는 코드의 주 진입 점 295 00:14:27,360 --> 00:14:29,470 에서 실제로 코드의 시작. 296 00:14:29,470 --> 00:14:32,000 그래서 당신이 코드 처음부터 시작 297 00:14:32,000 --> 00:14:34,940 실제로 시작에서 실행된다. 298 00:14:34,940 --> 00:14:36,520 그래서이 정말 크게 단순화합니다. 299 00:14:36,520 --> 00:14:38,470 세미콜론이 없다는 것을 또한 알 수 있습니다. 300 00:14:38,470 --> 00:14:41,040 이 언어에는 세미콜론가 없습니다. 301 00:14:41,040 --> 00:14:43,261 당신은 문을 넣어 각각의 라인에 302 00:14:43,261 --> 00:14:45,510 이어서 다음 행 다른 문을 나타냅니다. 303 00:14:45,510 --> 00:14:47,420 당신은 넣어하려는 경우 온라인 mulitiple 문, 304 00:14:47,420 --> 00:14:49,086 당신은 세미콜론으로 분리 해있다. 305 00:14:49,086 --> 00:14:50,940 그러나 대부분의 경우, 좋은 스타일, 우리는있어 306 00:14:50,940 --> 00:14:56,530 세미콜론을 볼 것 없다 분리 제표의 목적 307 00:14:56,530 --> 00:14:58,420 빠른에. 308 00:14:58,420 --> 00:14:59,820 그래서 실제로 어떻게 작동 하는가? 309 00:14:59,820 --> 00:15:04,080 음 매우 C의 우리처럼 실제로 컴파일해야합니다. 310 00:15:04,080 --> 00:15:10,640 그래서 우리는 사용하여 해당 작업을 수행 할 수 있습니다 빠른 C 다음 1.swift. 311 00:15:10,640 --> 00:15:13,850 그리고 몇 후 이 컴파일 시간 (분) 312 00:15:13,850 --> 00:15:16,340 다음 나는 항목을 실행할 수 있습니다. 313 00:15:16,340 --> 00:15:19,691 그리고 그것보다 그냥 "안녕하세요 CS50."라고합니다 314 00:15:19,691 --> 00:15:20,690 굉장하기 때문에 거기에 우리가 간다. 315 00:15:20,690 --> 00:15:22,273 우리의 첫 번째 안녕하세요 세계 프로그램이있다. 316 00:15:22,273 --> 00:15:24,790 이제 두 번째로 이동하자. 317 00:15:24,790 --> 00:15:30,450 >> 이제 항아리에이 변경되었습니다 약간 반면, 일반적으로 당신 때문에 318 00:15:30,450 --> 00:15:34,720 사실하더라도 - 항상 당신이해야합니까 당신 전에 빠른 응용 프로그램을 컴파일 319 00:15:34,720 --> 00:15:37,180 실제로 하구 또 하나를 실행 훌륭한 기능의 320 00:15:37,180 --> 00:15:40,230 내가 언급 한 것과 전에이었다 실제로 스위프트 정렬에 사용될 수있다 321 00:15:40,230 --> 00:15:43,390 의사 해석 모드 거기 통역 등의 사실이다. 322 00:15:43,390 --> 00:15:46,690 그러나이 수행 할 것은이 실제로, 신속한 애플리케이션이다 323 00:15:46,690 --> 00:15:47,520 당신은 실행할 수 있습니다. 324 00:15:47,520 --> 00:15:51,050 >> 그래서 예를 들어 당신은 그냥 입력하면 여기에 빠른, 어떤 일이 일어날 것 325 00:15:51,050 --> 00:15:52,330 당신이 프롬프트를 얻을 것입니다. 326 00:15:52,330 --> 00:15:59,040 그리고 당신은 당신의 신속한를 입력 할 수 있습니다 코드, 안녕하세요 인쇄하고 실행합니다. 327 00:15:59,040 --> 00:16:01,867 그리고 실제로 글씨합니다 물론,이 경우 인쇄되지 328 00:16:01,867 --> 00:16:04,450 그것을 중심으로하는 인쇄 때문에 밖으로, 이는 여기에 표시되지 않습니다. 329 00:16:04,450 --> 00:16:06,660 그러나 실제로 작동 할 수있다. 330 00:16:06,660 --> 00:16:09,580 그리고이 경우에, 난 그냥 해요 스크립트로 사용할 것. 331 00:16:09,580 --> 00:16:11,259 그리고 나는 거기에 실제로이 코드를 실행할 수 있습니다. 332 00:16:11,259 --> 00:16:13,800 그래서 실제로 실행 방법 그것은 약간 다를 수 있습니다 333 00:16:13,800 --> 00:16:15,710 하지만 당신은 단지 순간에 그것을 볼 수 있습니다. 334 00:16:15,710 --> 00:16:18,890 자,이 경우에 우리는 무엇을거야 먼저 할 변수를 정의하는 것이다. 335 00:16:18,890 --> 00:16:22,160 그래서 이것은 우리가 정의하는 방법이다 빠른에서 변수, 336 00:16:22,160 --> 00:16:25,900 우리가하자 키워드를 사용하고, 다음 변수의 이름으로, 337 00:16:25,900 --> 00:16:29,280 다음 우리는 몇 가지를 제공합니다 임의로 데이터를 초기화. 338 00:16:29,280 --> 00:16:34,660 그래서이 경우 우리는 정의하고 이름이라고도 상수 339 00:16:34,660 --> 00:16:37,775 우리는에서 그것을 사용하는거야 우리의 인쇄 라인의 출력 340 00:16:37,775 --> 00:16:39,590 맨 아래, 안녕하세요 이름에서. 341 00:16:39,590 --> 00:16:43,260 >> 자, 그보다는 사용 % s을 (를) 발견 우리는이 이름을 캡슐화 할 342 00:16:43,260 --> 00:16:49,960 /에서 변수 ()와 수있을 이 내용에 연결할 343 00:16:49,960 --> 00:16:51,790 이 문자열로 문자열입니다. 344 00:16:51,790 --> 00:16:56,510 이제 C는 달리, 문자열입니다 빠른 실제 실제 유형입니다. 345 00:16:56,510 --> 00:16:59,240 그리고 그것은 옆에 앉아 정수와 함께 346 00:16:59,240 --> 00:17:02,220 아주 쉽게 두 배로 자연스럽게 비교 347 00:17:02,220 --> 00:17:05,450 다른 일부에 우리가 본 언어. 348 00:17:05,450 --> 00:17:07,980 그래서이 실제로 작동 것 당신이 기대처럼. 349 00:17:07,980 --> 00:17:10,540 >> 나는 2.swift를 실행할 수 있습니다. 350 00:17:10,540 --> 00:17:14,390 그리고 우리는 내 이름은 것을 볼 수 실제로 "안녕하세요 댄."에 접합 351 00:17:14,390 --> 00:17:16,050 OK, 끝내. 352 00:17:16,050 --> 00:17:17,485 세 번째로 이동. 353 00:17:17,485 --> 00:17:19,359 지금은 조금이었다 흰색 거짓말의 I 354 00:17:19,359 --> 00:17:23,369 말했다 우리가 선언 방법 변수는하자 키워드를 사용하는 것이 었습니다. 355 00:17:23,369 --> 00:17:27,640 당신이 가능하게 당신이 할 수있는만큼 즉 무엇 때문에, 할 수 사용하려면 356 00:17:27,640 --> 00:17:29,280 이 상수를 정의한다. 357 00:17:29,280 --> 00:17:33,010 그리고 그것이 할 수있는 신속 알려줍니다 응용 프로그램의 속도를 최적화 358 00:17:33,010 --> 00:17:36,230 그것은 그 것을 알고 있기 때문에 변수는 변경하려고하지 않습니다. 359 00:17:36,230 --> 00:17:38,760 >> 그래서 신중하게 평가 당신이 사용하려고 할 때 360 00:17:38,760 --> 00:17:41,382 에 대한 변수 그것의 목적을 변경. 361 00:17:41,382 --> 00:17:43,340 그리고 때에가는거야 다만 변수를 생성 362 00:17:43,340 --> 00:17:47,010 일부 데이터를 보유하고는합니다 실제로 변경하지 않을. 363 00:17:47,010 --> 00:17:50,150 그래서 불변의 개념, 실제로, 변경 않을거야 364 00:17:50,150 --> 00:17:53,740 중요한 심지어는 멀리 아래로 변수를 정의로. 365 00:17:53,740 --> 00:17:56,870 그래서 여기에 우리가 이름을 정의한, 이름하자,이 경우 366 00:17:56,870 --> 00:18:02,120 그것은, 그 유형의 상수있어 문자열, 그리고 댄 같다. 367 00:18:02,120 --> 00:18:05,580 >> 이전에 반면 그래서 버전, 그것은 infers--에 의해 "을" 368 00:18:05,580 --> 00:18:08,220 나는 swift-- 신속 의미 데이터의 유형을 유추 369 00:18:08,220 --> 00:18:10,850 우리는 변수로 입력했는지. 370 00:18:10,850 --> 00:18:12,930 이 경우, 우리는 명시 할 수있다. 371 00:18:12,930 --> 00:18:17,590 그래서이의 그 이름을 보자 변수는 콜론 이름입니다. 372 00:18:17,590 --> 00:18:21,350 그리고 콜론 다음 우리를 할 데이터의 유형을 지정합니다. 373 00:18:21,350 --> 00:18:24,694 그래서 더 이상은 INT 이름 또는 캐릭터 이름 또는 그런 일. 374 00:18:24,694 --> 00:18:26,860 하지만 그 대신 우리가있어, 라벨을 보자 여부를 정의 375 00:18:26,860 --> 00:18:29,090 그것은, 상수 또는 변수입니다 이름 다음에, 376 00:18:29,090 --> 00:18:31,870 타입 임의로 하였다. 377 00:18:31,870 --> 00:18:34,730 >> 이 경우 우리가 정의하고 그래서 이 이름은 문자열입니다. 378 00:18:34,730 --> 00:18:35,790 우리는 말을하는지 댄이다. 379 00:18:35,790 --> 00:18:39,270 그리고 지금은 또 다른 변수가, 이 경우에는 라벨라고. 380 00:18:39,270 --> 00:18:42,090 하지만 것을 알 var 키워드로 시작. 381 00:18:42,090 --> 00:18:44,430 var 키워드 수단 이 변수가 수 382 00:18:44,430 --> 00:18:48,720 에 나중에 변경할 수 어딘가에 아래 코드의 시간, 383 00:18:48,720 --> 00:18:52,480 우리는 실제로 그것을 변경할 수 있습니다 우리에게 특정 오류를 제공하지 않습니다. 384 00:18:52,480 --> 00:18:56,760 >> 우리는 표준 접합하는 작업을 수행 할 수 있습니다 운전자는 이곳 더하기 기호를 사용하여 385 00:18:56,760 --> 00:19:00,130 실제로 추가하는 우리의 이 문자열에 이름을 지정합니다. 386 00:19:00,130 --> 00:19:02,921 그리고 우리는 인쇄 할 수 있습니다 우리는 조금 전에 본 것처럼. 387 00:19:02,921 --> 00:19:04,920 이제 당신 가정 해 봅시다 변수를 만들려면 388 00:19:04,920 --> 00:19:06,586 하지만 당신은 아직 초기화하지 않습니다. 389 00:19:06,586 --> 00:19:08,590 아직 싶지 않아 그 안에 데이터를 넣어. 390 00:19:08,590 --> 00:19:11,760 그럼 당신은 말할 필요 데이터의 신속한 어떤 유형 391 00:19:11,760 --> 00:19:16,430 당신이 할 수있는 전에 될 것입니다 실제로 제대로 정의합니다. 392 00:19:16,430 --> 00:19:20,360 >> 그래서이 경우, 우리가 정의한 경우 우리가 가지고있는 변수라는 등급이어야합니다 393 00:19:20,360 --> 00:19:24,450 때문에 그 유형에 대한 명시 적 그냥보고 추론 할 수 없습니다 394 00:19:24,450 --> 00:19:27,300 초기화 된 데이터에서 당신은 그것에 제공하는. 395 00:19:27,300 --> 00:19:30,050 그것은 우리에게 당신이 경우 오류를 줄 것이다 단지 형 VAR 등급, 예를 들어, 396 00:19:30,050 --> 00:19:31,830 따라서 어떤 유형이 없기 때문. 397 00:19:31,830 --> 00:19:33,353 그래서 학년 = 100. 398 00:19:33,353 --> 00:19:35,790 100은 정수가되도록, 그것을 그에 아주 잘 맞는다. 399 00:19:35,790 --> 00:19:36,998 그것은 계속 작동합니다. 400 00:19:36,998 --> 00:19:40,350 401 00:19:40,350 --> 00:19:43,022 우리가 볼 수있는 방법을 우리 이를 연결할 수 있습니다. 402 00:19:43,022 --> 00:19:44,730 지금 당신은 수 있습니다 유혹, 실제로 경우 403 00:19:44,730 --> 00:19:48,610 를 연결하는 원 다른 텍스트 문자열로 등급 404 00:19:48,610 --> 00:19:52,560 다른 문자열로, 즉, 당신은 단지 것 같은 접합하는 연산자를 사용합니다. 405 00:19:52,560 --> 00:19:54,630 그리고 일반적으로 사실이 될 것이다. 406 00:19:54,630 --> 00:20:00,540 그러나 스위프트에 당신을 허용하지 않습니다 암시 적 데이터의 유형을 변경합니다. 407 00:20:00,540 --> 00:20:03,440 이 경우이 그래서 라인, 25, 실패합니다 408 00:20:03,440 --> 00:20:06,650 등급이기 때문에 정수가 아닌 문자열입니다. 409 00:20:06,650 --> 00:20:08,760 그리고 유형의 설정이 일치있다. 410 00:20:08,760 --> 00:20:11,780 그래서 당신은 할 때 명시해야 이 데이터를 변경하려면, 411 00:20:11,780 --> 00:20:14,080 이 강요 할 때 다른 타입으로 데이터 412 00:20:14,080 --> 00:20:17,250 확인을, 내가 먹고 싶어 말 정수 해당 학년, 413 00:20:17,250 --> 00:20:19,050 및 문자열로 변환합니다. 414 00:20:19,050 --> 00:20:23,970 >> 그래서 자본의 문자열을 모두 가지고 유형, 당신은 계상되며, 알 수 있습니다 415 00:20:23,970 --> 00:20:26,280 INT, 두 번, 문자열, 등등 등등. 416 00:20:26,280 --> 00:20:28,930 그들 모두는 대문자입니다 단지 일을 더 쉽게 확인합니다. 417 00:20:28,930 --> 00:20:32,240 그리고 우리는 대문자로 말할 것 문자열은 등급에 전달합니다. 418 00:20:32,240 --> 00:20:35,020 그리고 그것은을 만듭니다 그 정수 중 문자열입니다. 419 00:20:35,020 --> 00:20:37,970 그리고 우리는 연결할 수 있습니다 두 개의 아주 멋지게. 420 00:20:37,970 --> 00:20:40,500 지금까지이 물건에 대한 질문? 421 00:20:40,500 --> 00:20:43,770 좋아,이 쟁기하자 를 통해 네 개의 번호를합니다. 422 00:20:43,770 --> 00:20:47,870 >> 이제 좀 더 고급 대해 얘기하자 배열과 루프 같은 구조. 423 00:20:47,870 --> 00:20:54,920 그리고 빠른에서 C는 달리, 배열 포인터로 표시되지 않습니다. 424 00:20:54,920 --> 00:20:58,730 빠른에 포인터, 들이 존재하지만, 호출 425 00:20:58,730 --> 00:21:02,840 안전하지 않은 포인터와 같은 또는 이 같은 몇 가지 유사한 유형, 426 00:21:02,840 --> 00:21:04,950 그들은 일반적으로 당신에게 노출되지 않는 것입니다. 427 00:21:04,950 --> 00:21:07,300 그래서 매우 어려워진다 당신은 조작하기 위해 428 00:21:07,300 --> 00:21:10,020 직접 컴퓨터의 메모리. 429 00:21:10,020 --> 00:21:11,670 >> 그래서 배열은 데이터 유형이다. 430 00:21:11,670 --> 00:21:16,830 그리고 그들은 이런 종류를 사용하여 참조하고 지금 표준 대괄호 표기법 431 00:21:16,830 --> 00:21:18,280 당신은 전에 본 적이있다. 432 00:21:18,280 --> 00:21:21,130 그러나 당신은 실제로 원하는 경우 변수의 타입을 정의 433 00:21:21,130 --> 00:21:24,330 일부의 배열로 다음 특정 유형, 당신 434 00:21:24,330 --> 00:21:27,150 대괄호 유형을했습니다. 435 00:21:27,150 --> 00:21:30,260 그래서 내가 여기서 말하고있는 것입니다 나는라는 변수를 만드는거야 436 00:21:30,260 --> 00:21:33,930 int 형 배열의 성적. 437 00:21:33,930 --> 00:21:37,380 그리고 일부 그와 동일한을하고 있어요 초기화 데이터,이 경우에는 어느 438 00:21:37,380 --> 00:21:42,960 다만, 이는 85, 90, 0, 100 여기에 임의 등급의 모음입니다. 439 00:21:42,960 --> 00:21:46,480 지금 내가 할 수있는이 경우, 기억 유형을 제거, 440 00:21:46,480 --> 00:21:49,580 그리고 그것을 유추 할 수있을 것이다 초기화 데이터에 기초하여. 441 00:21:49,580 --> 00:21:51,990 하지만 제거한 경우이와 나는, 나중에 설정하는 데 필요한 442 00:21:51,990 --> 00:21:56,840 그때 확인해야 내가 거기 유형이있다. 443 00:21:56,840 --> 00:21:58,750 좋아,이를 따라 이동하자. 444 00:21:58,750 --> 00:22:03,010 그래서 우리는 배열을하고 있는데 ... 다양한 우리에게 제공 445 00:22:03,010 --> 00:22:07,130 그 점 표기법을 통해 방법 당신 지금 아마 잘 알고 있습니다. 446 00:22:07,130 --> 00:22:10,360 grades.count 그래서, 예를 들면, 우리에게 정확하게 수를 알려줍니다 447 00:22:10,360 --> 00:22:13,680 아르 요소 이 배열에 포함. 448 00:22:13,680 --> 00:22:17,260 >> 나는 additional-- 추가하려면 지금이 VAR는 것을 알 수 449 00:22:17,260 --> 00:22:20,140 이 안그래 변수 및 일정하지 어느 450 00:22:20,140 --> 00:22:24,410 나는이 내용을 변경할 수 있다는 것을 의미합니다 이 배열, 나는 그것에 개체를 추가 할 수 있습니다. 451 00:22:24,410 --> 00:22:28,870 하지만 난 그냥 성적을 말할 수 없다 다음 대괄호 452 00:22:28,870 --> 00:22:33,280 네, 즉되기 때문에 이 경우 경계 오류 중. 453 00:22:33,280 --> 00:22:36,190 실제로 변경하려면 이 배열의 크기, 454 00:22:36,190 --> 00:22:41,140 나는에 도트 APPEND 방법을 사용해야합니다 그것의 맨 마지막에 뭔가를 추가합니다. 455 00:22:41,140 --> 00:22:46,900 내가 할 수있는, 그러나 변화 개별 지표. 456 00:22:46,900 --> 00:22:48,920 >> 그래서 성적을 사용할 수 있습니다 다음 대괄호 457 00:22:48,920 --> 00:22:52,480 제로이 첫 번째 인덱스를 조작하고, 그래서, 당신은 일반적으로 기대하는 것처럼. 458 00:22:52,480 --> 00:22:56,530 그리고 사실은 동일한 작업을 수행 할 수 있습니다 그뿐만 아니라에서 데이터를받을 수 있습니다. 459 00:22:56,530 --> 00:23:00,420 지금 또한 종류의 멋진 방법있다 이 성적 플러스 같음을하고 460 00:23:00,420 --> 00:23:02,525 다음 다른 인덱스 어떤 append--합니다 461 00:23:02,525 --> 00:23:04,400 또는 다른 index--하지 하지만 다른 목록하는 462 00:23:04,400 --> 00:23:07,340 그 목록을 추가합니다 등급의 뒷면. 463 00:23:07,340 --> 00:23:09,780 그리고 성적 것이다 모든 것을 포함하고 있습니다. 464 00:23:09,780 --> 00:23:13,850 하지만 그 여분의 물건의 일종 것을 그냥 재미를 위해 당신을 보여주는거야. 465 00:23:13,850 --> 00:23:14,910 >> 이제 루프가있다. 466 00:23:14,910 --> 00:23:18,970 그리고 이것은 시작이다 상황이 조금 변경 시작합니다. 467 00:23:18,970 --> 00:23:22,920 루프이 얼마나 주목 C.에서 루프에서 다른 468 00:23:22,920 --> 00:23:26,470 지금 나는 점에 유의한다 스위프트의 루프 수 469 00:23:26,470 --> 00:23:30,650 , C에서 루프처럼 보이도록 만들 수 있지만, 더 유용한 구조가 많이있다 470 00:23:30,650 --> 00:23:37,840 즉, 본질적 않아도 VAR에 대해 갖고 내가 0 세미콜론 같다 내가 471 00:23:37,840 --> 00:23:40,340 일부 길이 미만인 등등 등등, 오른쪽? 472 00:23:40,340 --> 00:23:42,940 그리고이 구조는 단지 그들 중 하나입니다. 473 00:23:42,940 --> 00:23:49,030 >> 인덱스의 인덱스는 새로운 변수 범위이 경우에. 474 00:23:49,030 --> 00:23:52,730 그리고 내가 말하고있을 것입니다 0에서 모든 방법까지 범위 475 00:23:52,730 --> 00:23:55,870 하지만 grades.count을 포함하지 않음. 476 00:23:55,870 --> 00:23:58,470 그래서이 점은 적은 점 기호가 나타내는 것보다 477 00:23:58,470 --> 00:24:05,040 0에서 출발 값의 범위 grades.count까지 1을 뺀 모든 방법. 478 00:24:05,040 --> 00:24:07,070 별도의가있다 존재 연산자 479 00:24:07,070 --> 00:24:13,320 어느있는 것, 점 점 점입니다 나는 제로의 범위를하려는 것을 의미 480 00:24:13,320 --> 00:24:16,310 등급에 포함 계산합니다. 481 00:24:16,310 --> 00:24:19,130 >> 그러나이 경우,이 때문에 어레이 우리는 물론, 인덱스 0 아르 482 00:24:19,130 --> 00:24:23,290 에 가고 싶지 않아 등급의 최대 수입니다. 483 00:24:23,290 --> 00:24:26,390 당신이 수도로 나는 성적을 합산 할 수 있습니다 기대,이 물건의 출력 모두. 484 00:24:26,390 --> 00:24:29,620 OK,에 이동. 485 00:24:29,620 --> 00:24:32,270 이제 함수에 대해 이야기 해 봅시다. 486 00:24:32,270 --> 00:24:35,465 함수를 정의하기 위해 당신은 펑크 키워드를 사용합니다. 487 00:24:35,465 --> 00:24:38,090 그리고 또, 스위프트에 그럴 필요 유형에 매우주의해야합니다. 488 00:24:38,090 --> 00:24:41,530 이 매개 변수에 당신은 제공 정의에 의해, 예를 들면, 489 00:24:41,530 --> 00:24:45,440 파라미터의 이름과 데이터의 다음 콜린에, 유형 490 00:24:45,440 --> 00:24:47,690 당신은 것으로 기대 매개 변수를 적용합니다. 491 00:24:47,690 --> 00:24:50,700 >> 그래서이 경우 우리는이 인쇄 등급 수 호출 된 함수. 492 00:24:50,700 --> 00:24:54,630 그것은, 성적표라는 변수를 받아 또는 오히려 매개 변수는 성적표를했다. 493 00:24:54,630 --> 00:24:59,267 그리고 우리는 그 성적표를 기대하고있다 정수의 배열이어야합니다. 494 00:24:59,267 --> 00:25:01,350 그 성적표가 비어있는 경우, 우리는 한 가지를 인쇄 해드립니다. 495 00:25:01,350 --> 00:25:06,090 그렇지 않으면 우리는 번호를 인쇄합니다 이 사실이 등급의. 496 00:25:06,090 --> 00:25:09,470 >> 이제 우리는 반환 할 경우 일부 값 다음 방법 497 00:25:09,470 --> 00:25:14,595 우리는이 정의는 수정하는 것이 실제로이 화살표 키워드를 사용하려면, 498 00:25:14,595 --> 00:25:16,870 또는이 화살표 기표를 사용합니다. 499 00:25:16,870 --> 00:25:19,440 그래서 여기에 우리가 정의하는거야 함수는 평균했다. 500 00:25:19,440 --> 00:25:21,940 우리는 번호 목록을 받아 들일 것입니다. 501 00:25:21,940 --> 00:25:25,430 그리고 우리를 반환하는거야 두 번하는 희망 것 502 00:25:25,430 --> 00:25:31,270 이 배열의 평균 수. 503 00:25:31,270 --> 00:25:34,570 그리고 순서 위해, 그렇게하기 실제로 평균을 계산하도록 504 00:25:34,570 --> 00:25:38,651 우리는 합계를 취할 것입니다 그리고 우리는의 것 이 과정은 모든 개체를 요약 505 00:25:38,651 --> 00:25:39,400 이 배열 내에서. 506 00:25:39,400 --> 00:25:41,480 >> 새가 있음을 주목하라 루프 여기의 스타일. 507 00:25:41,480 --> 00:25:45,450 우리는 약 명시 될 필요가 없습니다 모든 단일 요소의 반복, 508 00:25:45,450 --> 00:25:48,280 그러나 우리는 대신 말할 수 있습니다 학년 성적표, 의미 509 00:25:48,280 --> 00:25:50,930 하나 하나에 대한 그 우리는이에있는 항목, 510 00:25:50,930 --> 00:25:53,482 이에 해당 항목을 제공 변수라는 등급. 511 00:25:53,482 --> 00:25:54,940 그리고 나는 그것을 가지고 뭔가를하려고 할 것이다. 512 00:25:54,940 --> 00:26:00,350 그래서 나는이 모든 데이터를 요약거야 실제로 두 부문을 반환합니다. 513 00:26:00,350 --> 00:26:04,436 >> 이제 다시 여기에있다 통지 스위프트의 정수 나누기의 개념. 514 00:26:04,436 --> 00:26:06,810 당신은 분열을 두 배로하려면 당신이 소수가 원하기 때문에, 515 00:26:06,810 --> 00:26:09,460 다음 명시해야 단지에 대한 한 쪽, 516 00:26:09,460 --> 00:26:14,030 그것은 당신을 허용하지 않을 있기 때문에 이 양쪽의 데이터를 억압, 517 00:26:14,030 --> 00:26:17,030 실제로 과정에있다 복식에 양쪽 518 00:26:17,030 --> 00:26:19,440 그래서 당신이있어 매우 확인하고 대한 명시 적 519 00:26:19,440 --> 00:26:23,370 것을 당신은 두 번 분열을하고있어. 520 00:26:23,370 --> 00:26:26,150 >> 그냥 넘어 가자. 521 00:26:26,150 --> 00:26:31,150 실제로 accept-- 싶다면 그래서이 특정 예에서, 522 00:26:31,150 --> 00:26:34,260 이것은 여전히​​ 명령입니다 라인 기반 응용 프로그램. 523 00:26:34,260 --> 00:26:37,920 그리고 우리는 몇 가지를보기 시작하고 젊은 언어의 한계 524 00:26:37,920 --> 00:26:41,850 점에서 비록 우리는 할 수 사용하여 인수들을 억세스 525 00:26:41,850 --> 00:26:44,940 이 process.arguments, 그건 여전히 반드시 깨끗한 526 00:26:44,940 --> 00:26:46,200 우리가 지금까지 본 것. 527 00:26:46,200 --> 00:26:49,142 그러나 기본적으로 당신을 장려 종류의이 코드를 보면합니다 528 00:26:49,142 --> 00:26:51,100 그리고 알아 내기 위해 노력 정확히 무슨 일이 일어나고있다. 529 00:26:51,100 --> 00:26:55,030 >> 본질적으로 무슨 무슨 일이 일어나고 있다는 것입니다 우리는 인수 목록을 취하고있어 530 00:26:55,030 --> 00:26:57,610 그리고 그들을 강요했다 정수 한 다음 우리는있어 531 00:26:57,610 --> 00:27:03,620 인쇄하는 방법으로 그것을 사용하려고 우리의 등급 모두의 평균 밖으로. 532 00:27:03,620 --> 00:27:06,150 533 00:27:06,150 --> 00:27:07,350 에 이동. 534 00:27:07,350 --> 00:27:11,190 지금 data-- 다른 유형이있다 다른 데이터 배열보다는 입력 535 00:27:11,190 --> 00:27:14,940 매우 아르라는 사전, 테이블 또는 해시 맵을 해시 유사 536 00:27:14,940 --> 00:27:18,560 또한 유사하다 PHP의 연관 배열. 537 00:27:18,560 --> 00:27:20,770 그래서 그들은 개념이 키와 값의. 538 00:27:20,770 --> 00:27:23,780 >> 그리고 그들은 또한으로 정의하고 이 대괄호 표기법, 539 00:27:23,780 --> 00:27:26,750 그러나 차이점은 사전을 가지고 540 00:27:26,750 --> 00:27:29,370 대괄호, 대장의 내부. 541 00:27:29,370 --> 00:27:33,850 콜론은 데이터를 분리 그 키와 값이 입력합니다. 542 00:27:33,850 --> 00:27:38,540 이 경우, 내가 만들거야 사전은 몇 가지 등급을 적용합니다. 543 00:27:38,540 --> 00:27:44,200 그리고 그것은 될 것입니다 문자열 형식의 : INT, 544 00:27:44,200 --> 00:27:46,940 어떤 의미의 모든 키는 문자열로 가고있다 545 00:27:46,940 --> 00:27:53,080 이들의 모든 값 키는 정수가 될 것입니다. 546 00:27:53,080 --> 00:27:55,780 >> 이것이 의미하는 것은 내가 할 수있는 것입니다 다음 특정 데이터를 참조 547 00:27:55,780 --> 00:28:00,490 차라리 그 키를 사용하여 원하는 나는 같은 숫자 인덱스를 사용하는 것보다 548 00:28:00,490 --> 00:28:04,350 표준 배열 할 것이다. 549 00:28:04,350 --> 00:28:06,470 지금 거기에, 보자 하나 중요한 것은 550 00:28:06,470 --> 00:28:10,790 나는 또한에 대해 언급 할 것인지 이 코드의 특정 시퀀스. 551 00:28:10,790 --> 00:28:12,910 그리고 거기에 있다는 것입니다 다른 유형의 데이터, 552 00:28:12,910 --> 00:28:15,580 또는 오히려이있다 데이터의 아이디어 553 00:28:15,580 --> 00:28:18,340 스위프트에 포함이 optionals을했다. 554 00:28:18,340 --> 00:28:21,270 >> 그리고 무엇 optionals 의미하는 것입니다 그 사실을 인정한다는 555 00:28:21,270 --> 00:28:27,500 때때로 당신은 안 갈거야 당신이 실제로 기대하는 데이터를 얻을. 556 00:28:27,500 --> 00:28:31,400 그하자 일은 ...에 의해 그리고 나는 무엇을 의미 이 코드 순서를 살펴 557 00:28:31,400 --> 00:28:38,910 모든 이상되는 반복 이 코드에 전달 된 인수 558 00:28:38,910 --> 00:28:43,460 와, 변환하려고 시도 문자열의 다양한으로 분할하고, 559 00:28:43,460 --> 00:28:47,310 그것은 매우를 사용할 수 있기 때문이며, 인수의 특정 유형. 560 00:28:47,310 --> 00:28:51,530 그리고, 그것은 강요하려고 할 것입니다 숫자를 나타내는 문자열 561 00:28:51,530 --> 00:28:55,460 성적이다 정수로, 나는 다음 계산할 수있다. 562 00:28:55,460 --> 00:28:58,230 >> 그래서 기본적으로 내가 갈거야 이 스플릿 함수를 사용할 것을 563 00:28:58,230 --> 00:29:00,080 내에 존재 스위프트 표준 라이브러리. 564 00:29:00,080 --> 00:29:03,720 나는 그것으로 전달하는거야 내가 분할 할 문자열입니다. 565 00:29:03,720 --> 00:29:06,980 그리고이를 사용하여 펑키 구문의 종류, 어떤 566 00:29:06,980 --> 00:29:09,670 우리가 있을지 몰라 우리는에 도착,하지만 어쩌면 567 00:29:09,670 --> 00:29:14,320 실제로 정확한을 지정합니다 우리가 분할 할 문자. 568 00:29:14,320 --> 00:29:16,030 그래서이 실제로 생겼을까? 569 00:29:16,030 --> 00:29:18,740 이제 살펴 보자 실제로이 코드를 실행할 수 있습니다. 570 00:29:18,740 --> 00:29:22,000 >> 예를 들어, 그래서, 내가 가진 가정 해 봅시다 퀴즈와 나는 그 50를 얻었다. 571 00:29:22,000 --> 00:29:23,960 내가 PSETS을 가지고 나는 그의 백을 얻었다. 572 00:29:23,960 --> 00:29:29,180 그리고 나는 또 다른있다 잡았어 퀴즈와 그의 (40)를 얻었다. 573 00:29:29,180 --> 00:29:33,520 나는 Enter 키를 누르십시오, 결국 무엇을 일어날은 뭐하는거야 것입니다 574 00:29:33,520 --> 00:29:37,730 이러한 매개 변수를 복용, 분할 이러한 콜론의 문자열, 575 00:29:37,730 --> 00:29:41,390 가 있음을 인식 각각의 두 요소, 576 00:29:41,390 --> 00:29:43,700 그것은 본질적 야 각각의 트랙을 유지. 577 00:29:43,700 --> 00:29:49,226 >> 그래서 난 내 사전에 그 퀴즈를 가지고 값은 숫자 50에 의해 표현된다 578 00:29:49,226 --> 00:29:54,290 I는, 100의 값을 갖고있다 PSET 40의 값을 갖는 하나의 퀴즈. 579 00:29:54,290 --> 00:29:57,400 그런 다음 나중에 코드 I에 실제로 이들의 모든 값을 평균화 580 00:29:57,400 --> 00:30:01,160 과의 키를 모두 나열 특정 사전. 581 00:30:01,160 --> 00:30:03,217 하지만이 중요하다 사용자가 알 수 있도록 582 00:30:03,217 --> 00:30:06,050 무슨, 무슨 일이 일어나고은 것입니다 우리 원하는 것은이 문자열을하는 것입니다 583 00:30:06,050 --> 00:30:11,450 그리고,이 문자에 그것을 분할 우리는이 분할 다시 할 수있는 584 00:30:11,450 --> 00:30:15,690 이런 종류의를 사용하여 기능 여기있는 흥미로운 구문. 585 00:30:15,690 --> 00:30:17,880 >> 그냥 지금은 그 확인 있다고 가정합니다. 586 00:30:17,880 --> 00:30:19,980 우리는이 더 볼 것 단지 잠시 동안의. 587 00:30:19,980 --> 00:30:23,230 하지만 지금은 흥미있다 측면이 우리 실제로 588 00:30:23,230 --> 00:30:27,250 이 변환하려고 시도하는 정수에 문자열입니다. 589 00:30:27,250 --> 00:30:29,720 그러나 다른 언어 무슨 일이 있습니다 것은 590 00:30:29,720 --> 00:30:33,440 우리는 아마 시도 할 것이라고 그것을과 하나 돌아 가야 591 00:30:33,440 --> 00:30:36,185 감시의 일종 음과 같은 값 592 00:30:36,185 --> 00:30:39,420 아니면 null 또는 그런 일. 593 00:30:39,420 --> 00:30:41,070 아니면 그냥 오류가 발생합니다. 594 00:30:41,070 --> 00:30:42,820 그리고 우리는해야 할 것입니다 그 오류를 잡을 595 00:30:42,820 --> 00:30:44,820 다음 작업을 시도 어떤 사실에 기초 596 00:30:44,820 --> 00:30:48,280 이 변환이 정수에 실패했습니다. 597 00:30:48,280 --> 00:30:50,460 그 곳이 좋습니다 optionals로 제공됩니다. 598 00:30:50,460 --> 00:30:56,120 당신은 실제로 데이터 유형을 만들 수 있습니다 INT 물음표는, 예를 들면. 599 00:30:56,120 --> 00:30:59,140 600 00:30:59,140 --> 00:31:01,910 즉,이 정수 것을 의미한다 사실, 선택적이다. 601 00:31:01,910 --> 00:31:05,980 그리고 무슨 일이 일어날 것은 수 있다는 것이다 정수를 포함, 또는하지 않을 수 있습니다. 602 00:31:05,980 --> 00:31:10,650 또한, 실제로이 다른 일 수있다 아이디어는 완전히 빈 채로했다. 603 00:31:10,650 --> 00:31:14,900 하는 그가 있다는 것을 의미한다 무엇이이의 값 없습니다. 604 00:31:14,900 --> 00:31:16,810 그것은 영 (0)이 아니다 단지 값은 없습니다. 605 00:31:16,810 --> 00:31:18,790 표현 절대적으로 가치가있다. 606 00:31:18,790 --> 00:31:21,650 >> 그리고이 라인 (71)가하고있는 것입니다. 607 00:31:21,650 --> 00:31:25,990 그것이 그 I를 말하는 것입니다 값을 설정하려고 시도하는, 608 00:31:25,990 --> 00:31:31,790 동일 등급라는 변수, INT에이 캐릭터 라인의 변환. 609 00:31:31,790 --> 00:31:34,010 그래서 나는이 문자열을 촬영했습니다, 첫 번째 구성 요소, 610 00:31:34,010 --> 00:31:37,680 또는 오히려 두 번째 구성 요소,이 때문에 611 00:31:37,680 --> 00:31:40,770 제로는 이로 색인 내가 분할 한 문자열입니다. 612 00:31:40,770 --> 00:31:42,930 그리고 변환 할 정수로 그. 613 00:31:42,930 --> 00:31:46,730 그러나 항상 진행되지 않을 수 있습니다 일반적으로, 때문에 상상 614 00:31:46,730 --> 00:31:50,710 유형보다는, 무슨 일이 일어날 것 숫자, 나는 asdf을 같은 물론 입력합니다. 615 00:31:50,710 --> 00:31:51,534 >> 그것은 실패 할 것입니다. 616 00:31:51,534 --> 00:31:54,200 실제로 수 없을거야 정수로 그 변환 할 수 617 00:31:54,200 --> 00:31:55,510 내가 기대하는 것처럼. 618 00:31:55,510 --> 00:31:58,660 그래서 오히려 킥오프보다 오류의 일종, 619 00:31:58,660 --> 00:32:01,210 우리는 선택의 이런 생각을 가지고있다. 620 00:32:01,210 --> 00:32:04,240 그리고 그 사용을 의미합니다 내가 말할 수있는이 물음표, 621 00:32:04,240 --> 00:32:09,100 OK, 내가 걸릴 수있다 이것은, INT로 변환 622 00:32:09,100 --> 00:32:12,630 그리고 변수에 넣어, 이는 또한 INT 될 것입니다. 623 00:32:12,630 --> 00:32:15,420 그렇다면, 그렇다면 그건 이 성공했는지 624 00:32:15,420 --> 00:32:18,720 그리고이 제 1 부분 블록 계속할 수 있습니다. 625 00:32:18,720 --> 00:32:21,040 >> 그렇지 않으면 실패했습니다. 626 00:32:21,040 --> 00:32:25,840 grade--의 값이없는 또는 오히려 기존의 값이 없습니다, 627 00:32:25,840 --> 00:32:30,220 나는 실제로 시도해야 이 오류 조건을 처리 할 수​​ 있습니다. 628 00:32:30,220 --> 00:32:33,340 이를 보게 될 것입니다 물음표 모든 시간 629 00:32:33,340 --> 00:32:35,990 스위프트와 스위프트 예를 들어 코드에서. 630 00:32:35,990 --> 00:32:40,980 그리고 사실은 빈 채로 연산자, 이런 종류의 물음표, optionals 부분, 631 00:32:40,980 --> 00:32:45,057 하나 아마 될 것입니다 더 어려운 것들 632 00:32:45,057 --> 00:32:47,640 종류의 주위에 당신의 머리를 정리하기 당신은 실제로 작업 할 때. 633 00:32:47,640 --> 00:32:48,490 >> 지금은 의미가 있습니다. 634 00:32:48,490 --> 00:32:50,760 그리고 사실, 나는 경우였다 이 샘플 코드를 작성, 635 00:32:50,760 --> 00:32:52,780 확실히 나는 이해 무슨 일이, 무슨 일이 있었 636 00:32:52,780 --> 00:32:55,570 하지만 여전히 나를 붙 잡았다 놀랍게도 모든 너무 자주 637 00:32:55,570 --> 00:32:58,370 나는 그것을 발견 할 때 일부 데이터는 사실이었다 638 00:32:58,370 --> 00:33:04,024 전무 버전, 옵션 버전 데이터의 내가 기대 한 것. 639 00:33:04,024 --> 00:33:06,190 그러니 실현 당신 경우 선택 사양 버전 640 00:33:06,190 --> 00:33:09,360 당신은 압축을 해제해야 이 상자에서 데이터. 641 00:33:09,360 --> 00:33:15,870 >> 그래서 난 ... 당신을 상상해 같은 종류의의 상자를 가지고 있고 그것은 뭔가가 포함되어 있습니다. 642 00:33:15,870 --> 00:33:18,490 그리고 당신은해야 할 일 질문을하는 것입니다, 643 00:33:18,490 --> 00:33:22,800 그것이 가능한 것입니다 실제로이 상자 내가 찾고 데이터를 포함? 644 00:33:22,800 --> 00:33:28,180 그렇다면하면, 그 데이터를 밖으로 끌어와 기존이 변수에 넣어. 645 00:33:28,180 --> 00:33:32,080 그렇지 않다면, 그냥하기가 이 상자의 내용을 무시 646 00:33:32,080 --> 00:33:34,310 그것을 전부 때문에 문자 그대로 아무것도 들어 있지 않습니다. 647 00:33:34,310 --> 00:33:36,880 648 00:33:36,880 --> 00:33:40,400 >> 이에 대한 질문? 649 00:33:40,400 --> 00:33:44,430 좋아,이에서 벗어나 보자 명령 줄을 기반으로 물건의 종류 650 00:33:44,430 --> 00:33:47,610 및보고 시작 기술의 일부 651 00:33:47,610 --> 00:33:53,060 엑스 코드는 우리에게 제공 놀이터의 형태로. 652 00:33:53,060 --> 00:33:56,669 그래서 많이있다 여기 스위프트와 기능을 제공합니다. 653 00:33:56,669 --> 00:33:59,210 그리고 당신은 엑스 코드와 그것을 열 경우 당신이 무엇을하고 싶은지를 묻는 질문에 654 00:33:59,210 --> 00:34:01,340 당신은 운동장을 열 수 있습니다 그냥 놀러 655 00:34:01,340 --> 00:34:06,200 다른 구조의 많은 언어 및 양태 656 00:34:06,200 --> 00:34:11,800 당신도 접촉 시작하기 전에 아이폰 OS SDK 또는 맥 SDK. 657 00:34:11,800 --> 00:34:15,670 >> 따라서이 경우는,이​​ 전 니스, 니가 있다고 가정 해 봅시다 나는 상대적으로 인위적인 예를 658 00:34:15,670 --> 00:34:18,460 여기에,하지만 저와 같은 우리 종류의 곰 이 예를 통해 작동합니다. 659 00:34:18,460 --> 00:34:22,639 의 우리가 많은 일을해야한다고 가정 해 봅시다 고정 된 값을 갖는 지수의 660 00:34:22,639 --> 00:34:26,397 같은 우리는 우리가 필요 해요 알고 예를 들어, 사각형 힘을 많이 할. 661 00:34:26,397 --> 00:34:28,980 그래서 우리는 몇 가지 값을거야 X, 우리가 그것을 광장거야, 662 00:34:28,980 --> 00:34:30,540 우리는 몇 가지 값을거야 Y 우리는 그것을 제곱 것입니다. 663 00:34:30,540 --> 00:34:31,780 등등 등등. 664 00:34:31,780 --> 00:34:35,549 >> 이제 우리는 실제로 단지를 만들 수 있습니다 이 2 기능의 전원, 오른쪽? 665 00:34:35,549 --> 00:34:37,090 그래서 우리는이 기능의 전력을 만들 것입니다. 666 00:34:37,090 --> 00:34:38,600 우리는 두 번을 받아 들일 겁니다. 667 00:34:38,600 --> 00:34:41,489 우리는 output-- 것 또는 우리는거야 이중 유형을 반환합니다. 668 00:34:41,489 --> 00:34:46,159 우리는이 결과를 할게요 다음 회에 대한 669 00:34:46,159 --> 00:34:52,040 우리는 실제로 결과를 가지고 무엇을하는 하나의 값으로 초기화 된, 670 00:34:52,040 --> 00:34:53,090 그리고 x로를 곱합니다. 671 00:34:53,090 --> 00:34:56,540 그래서 본질적으로 우리는 여기에 X 곱하기 X가 있습니다. 672 00:34:56,540 --> 00:35:01,860 >> 그래서 그때는 우리가 수도, 다음 수 2의 실행 능력을이 걸릴 것으로 전망, 673 00:35:01,860 --> 00:35:03,680 그것을 제공하는 일부 데이터, 나는 2.0을 좋아한다. 674 00:35:03,680 --> 00:35:05,756 그리고 우리는 여기에 4.0 결과를 보게된다. 675 00:35:05,756 --> 00:35:09,200 3.2 우리의 2의 전원을 실행 우리의 결과, 10.24을 보게된다. 676 00:35:09,200 --> 00:35:10,840 지금까지 너무 좋아, 그렇지? 677 00:35:10,840 --> 00:35:12,070 이제 우리는 OK, 잘 생각하고 있습니다. 678 00:35:12,070 --> 00:35:15,530 지금은 실제로 필요 3의 힘을 많이 할. 679 00:35:15,530 --> 00:35:19,180 그래서이 모든 코드를 붙여 복사합니다, 로부터 함수의 이름을 변경 680 00:35:19,180 --> 00:35:24,440 전원의 3, 모든 2의 전원 이 값을 제외하고 동일합니다 681 00:35:24,440 --> 00:35:26,740 여기,이 범위,​​ 1 ... 2. 682 00:35:26,740 --> 00:35:29,590 >> 그래서 오히려 반복보다 이 루프를 두 번, 683 00:35:29,590 --> 00:35:31,880 나는이 루프를 세 번 반복합니다. 684 00:35:31,880 --> 00:35:36,330 그래서 난 그냥에서 해당 값을 변경 1-I-T-A-3 또는 오히려 2-3. 685 00:35:36,330 --> 00:35:39,230 그래서 다시, 동일한 코드, 그 유일한 변화입니다. 686 00:35:39,230 --> 00:35:40,080 지금 이것은 또한 작동합니다. 687 00:35:40,080 --> 00:35:43,860 이 값의 일부에 제공 3의 전원을 켭니다. 688 00:35:43,860 --> 00:35:44,420 우리는 8 얻을. 689 00:35:44,420 --> 00:35:45,370 그래서 2의 세제곱. 690 00:35:45,370 --> 00:35:48,060 그리고 3.2 제곱은 32.768입니다. 691 00:35:48,060 --> 00:35:50,597 그리고 지금까지 너무 좋아, 그렇지? 692 00:35:50,597 --> 00:35:52,930 그러나 희망이 조금 있습니다 당신을 위해 붉은 깃발의 비트 693 00:35:52,930 --> 00:35:55,530 점에서 우리는 지금이 코드의 일부 중복 694 00:35:55,530 --> 00:35:58,800 아주 사소한 제외 다음에 하나를 변경합니다. 695 00:35:58,800 --> 00:36:02,170 그래서 어떤 방법이 그 우리는 간단하게 할 수있을 것 696 00:36:02,170 --> 00:36:06,080 이 문제 여기서 우리가 실제로 할 수있는, 런타임에, 일부를 파악, 697 00:36:06,080 --> 00:36:11,320 우리가 어떤 기능을 제공 정확하게 우리가 원하는 것을의 힘. 698 00:36:11,320 --> 00:36:13,960 >> 그리고이 생각이있다 정말 폐쇄, 정말 699 00:36:13,960 --> 00:36:18,180 스위프트의 맥락에서 중요, 많은 다른 언어뿐만 아니라. 700 00:36:18,180 --> 00:36:21,580 하지만 아마 당신은 볼 수 그것은 스위프트 더 그렇게 사용 701 00:36:21,580 --> 00:36:23,650 그것은 임베디드 있기 때문에 언어 내 702 00:36:23,650 --> 00:36:28,280 다른 윌보다 또한 현대적인 언어. 703 00:36:28,280 --> 00:36:31,140 폐쇄 생각 그래서 이된다 우리가 704 00:36:31,140 --> 00:36:35,430 하는 것을 의미하는 기능을 가질 수있다 일반적인 기능, 일반 전원 수 705 00:36:35,430 --> 00:36:36,860 기능. 706 00:36:36,860 --> 00:36:41,010 >> 그리고이 기능은 받아 들일 것입니다 이 지수가 우리가 실제로 707 00:36:41,010 --> 00:36:42,990 만들려고합니다. 708 00:36:42,990 --> 00:36:46,550 그래서 예를 들어, 최초 예, 우리는 2의 거듭 제곱을 원했다. 709 00:36:46,550 --> 00:36:50,050 그래서 우리의 전력을 제공 할 것이다 다음 괄호 2. 710 00:36:50,050 --> 00:36:52,490 그리고 지금 알 수 무엇 이 실제로 반환합니다. 711 00:36:52,490 --> 00:36:57,680 이 프라이머의 입력을 받아 정수라고 Y, 712 00:36:57,680 --> 00:37:03,090 그것은 찾고 미친을 반환 parentheses-- 괄호 일 713 00:37:03,090 --> 00:37:06,230 이중 두 번 화살표. 714 00:37:06,230 --> 00:37:10,270 >> 이것이 의미하는 것은 난 것입니다 함수를 반환하는 것. 715 00:37:10,270 --> 00:37:13,510 나는 돌아 아니에요 다른 데이터 유형, 난 716 00:37:13,510 --> 00:37:16,350 실제로 복귀 기능 그 것을,이 매개 변수가 717 00:37:16,350 --> 00:37:22,680 허용 입력으로 더블 반환 값으로 이중 출력합니다. 718 00:37:22,680 --> 00:37:29,750 그리고 그 결과로, 때문에 이제 나는라고했습니다 전력, Y에 대한 몇 가지 값을 전달, 719 00:37:29,750 --> 00:37:32,280 나는이 기타를 만드는거야 가 있음을 function-- 통지 720 00:37:32,280 --> 00:37:35,980 작성되고있어 다른 기능 이 항아리 안에 내가 무슨 생각을하는거야 721 00:37:35,980 --> 00:37:37,830 그때 변경할 수있다 그 값, 하나 722 00:37:37,830 --> 00:37:41,010 내가 변경 한 값 2-3, 지금은 Y합니다. 723 00:37:41,010 --> 00:37:42,500 >> 그리고이 지속됩니다. 724 00:37:42,500 --> 00:37:48,530 그래서 전원을 호출 할 때마다 의, 본질적으로 무슨 일이 725 00:37:48,530 --> 00:37:51,030 내가 함수를 반환받을 것입니다. 726 00:37:51,030 --> 00:37:54,310 내가 정의한 여기에 알 수 있습니다 새로운 변수는 사각형했다. 727 00:37:54,310 --> 00:37:59,340 나는의 전력이 동일하게 설정 한 의 전원이 값 2를 제공했다. 728 00:37:59,340 --> 00:38:02,030 그리고 어떤이가 반환하는 기능입니다. 729 00:38:02,030 --> 00:38:05,970 그래서 광장, 변수 광장 입력 기능의 지금 730 00:38:05,970 --> 00:38:11,390 그 이런것 죄송합니다, 스크롤이 이 서명이 작은 bit--, 731 00:38:11,390 --> 00:38:15,560 더블 더블과 출력을 받아들입니다. 732 00:38:15,560 --> 00:38:17,330 >> 그래서 지금 내가 무슨 짓을했는지 나는 기본적으로했습니다입니다 733 00:38:17,330 --> 00:38:22,890 라는 함수 광장을 만들어 그 값을 허용하고 광장 것입니다. 734 00:38:22,890 --> 00:38:24,960 우리는 여기까지 어떻게 볼 수 있습니다. 735 00:38:24,960 --> 00:38:29,960 예를 들어, 광장 3, 내가 갈거야 의미 값 3을 가지고 그것을 제곱합니다. 736 00:38:29,960 --> 00:38:32,010 정확히 어떻게이 일을합니까? 737 00:38:32,010 --> 00:38:37,800 나는 2 ...의 전력을 전달할 때 때 기능이 전원에 2를 통과, 738 00:38:37,800 --> 00:38:44,430 이 변수 Y는 그 값이 채워. 739 00:38:44,430 --> 00:38:46,340 그리고이 종류의 메모리에 보관됩니다. 740 00:38:46,340 --> 00:38:49,430 그건 일종의에서 개최 마치 어딘가 컴퓨터의 상태, 741 00:38:49,430 --> 00:38:51,980 우리가 정말 어떻게 상관 없어 어디서이 시점에서. 742 00:38:51,980 --> 00:38:54,692 >> 하지만이 기능을 반환 exponentiate했다. 743 00:38:54,692 --> 00:38:57,400 그리고 다시, 정말 중요하지 않습니다 이 기능은 무엇이라고, 744 00:38:57,400 --> 00:39:01,730 우리는 정말, 그것은 아무것도를 호출 할 수 있습니다 , 두 번 받아 더블을 반환 745 00:39:01,730 --> 00:39:05,640 하지만 그 안에이 y 값을 사용합니다. 746 00:39:05,640 --> 00:39:09,290 그래서이 기능은, 비록 의이 exponentiater 기능 747 00:39:09,290 --> 00:39:13,600 다시 반환 된 내 내가 광장라는 변수 748 00:39:13,600 --> 00:39:17,980 그것은 그 안에 포함되어있다 y는 무엇의이 개념. 749 00:39:17,980 --> 00:39:19,070 그리고 그 기억합니다. 750 00:39:19,070 --> 00:39:24,810 >> 그래서 때마다 그 함수를 호출하는 지금 광장이라고, 그 사용합니다. 751 00:39:24,810 --> 00:39:27,990 하지만이 또한 내가 할 수있는 것을 의미한다 사용하여 다른 변수를 생성 752 00:39:27,990 --> 00:39:29,120 다른 전원을 켭니다. 753 00:39:29,120 --> 00:39:33,240 그래서 들어, 큐브 변수를 만들 수 있습니다 예, 그것은 3의 전원을 공급합니다. 754 00:39:33,240 --> 00:39:37,230 이제 큐브는 실제로 일부를 취할 것 가치와 큐브 그와 돌려줍니다. 755 00:39:37,230 --> 00:39:39,570 그래서 우리는 내가 얻을 수 있음을 알 수있다 그 중 값 8. 756 00:39:39,570 --> 00:39:42,720 >> 그러나 그 값 y를하지 않았습니다 그들이이기 때문에 변경 757 00:39:42,720 --> 00:39:44,980 독립 변수의 종류에서 개최. 758 00:39:44,980 --> 00:39:47,480 그들은 일종의에서 개최된다 메모리에 독립적 인 공간. 759 00:39:47,480 --> 00:39:51,290 그래서 큐브는 항상해야합니다 3의 힘에 X. 760 00:39:51,290 --> 00:39:55,380 그리고 광장은 항상있을 것이다 (2)의 힘에 X하는 761 00:39:55,380 --> 00:39:58,470 그 광장은 항상 의미 나는 예상대로 광장 번호. 762 00:39:58,470 --> 00:40:01,794 그리고 큐브는 항상 반듯한 것 숫자, 나는 예상대로. 763 00:40:01,794 --> 00:40:04,960 이것은 또한 의미 때때로 당신이 할 수있는 그 펑키 찾고 구문의 일종을 얻을 764 00:40:04,960 --> 00:40:09,030 여기서 당신은 매우에서의 힘을 가지고 여기에 화면의 하단, 5의 전원을 켭니다. 765 00:40:09,030 --> 00:40:11,410 그리고 당신은 결과에 전달합니다. 766 00:40:11,410 --> 00:40:14,670 당신의 그 함수를 호출 숫자 4로 반환 된. 767 00:40:14,670 --> 00:40:17,440 그리고 본질적으로 어떤이 상기 제 4 전원 768 00:40:17,440 --> 00:40:20,830 우리는이 결과를 볼 수 있습니다. 769 00:40:20,830 --> 00:40:23,690 저와 함께 지금까지? 770 00:40:23,690 --> 00:40:26,620 >> 그래서이 아이디어는 폐쇄라고 우리는 기본적으로 무슨 일을하는지 때문에 771 00:40:26,620 --> 00:40:30,610 우리가 캡슐화하고있다 일부 데이터 정렬 into-- 772 00:40:30,610 --> 00:40:33,050 이 데이터를 둘러싸의 우리가이고 기능에 773 00:40:33,050 --> 00:40:36,240 이 기능을 재사용 할 수있는. 774 00:40:36,240 --> 00:40:41,480 지금이 구문하지만 실제로 수 큰 금액을 단순화 할 수. 775 00:40:41,480 --> 00:40:45,005 그리고 가능성이 많이있다 이 단순화에 대한 스위프트의. 776 00:40:45,005 --> 00:40:47,780 그리고 그것은 어떤 종류의 이후 사람들은 실제로 봐. 777 00:40:47,780 --> 00:40:51,400 그래서 예를 들어 7b에, 우리 이 동일한 코드를 가져다. 778 00:40:51,400 --> 00:40:54,360 >> 하지만 지금보다는 실제로 함수를 정의 779 00:40:54,360 --> 00:40:57,910 이 전원의 내부 작동하고 이름을 지정, 780 00:40:57,910 --> 00:41:00,150 다음 이름을 반환 함수의 어떤 781 00:41:00,150 --> 00:41:02,357 다음의 일부로서 사용되는 이 폐쇄, 대신 우리는있어 782 00:41:02,357 --> 00:41:03,440 그냥 단순화하는 것. 783 00:41:03,440 --> 00:41:06,580 우리는이 기능이 명명 할 필요가 없습니다. 784 00:41:06,580 --> 00:41:09,760 그래서 이것의 개념은 익명 함수 여기서 우리는 할 수 785 00:41:09,760 --> 00:41:15,180 여기에 괄호 안에 입력으로 받아, double 유형이다 변수 x. 786 00:41:15,180 --> 00:41:17,250 >> 우리는 double 유형을 반환하는 것입니다. 787 00:41:17,250 --> 00:41:19,830 그리고 키워드는, N,이다 이 함수의 시작입니다. 788 00:41:19,830 --> 00:41:22,180 그래서이의 모든 것을 알 수 중괄호 내에 789 00:41:22,180 --> 00:41:25,310 그리고 우리를 정의하고 익명 여기에 작동합니다. 790 00:41:25,310 --> 00:41:29,910 그냥 간단한 방법 정확히 똑같은 일을 정의. 791 00:41:29,910 --> 00:41:30,810 OK? 792 00:41:30,810 --> 00:41:36,740 그러나 잠깐, 스위프트는 실제로 우리를 수 더 나아가, 심지어 더 단순화하기 793 00:41:36,740 --> 00:41:40,180 정말 우리가하지 않기 때문에 이 매개 변수가 있음을 걱정 794 00:41:40,180 --> 00:41:41,700 특정 일을 지명했다​​. 795 00:41:41,700 --> 00:41:48,090 그것은 정말 아무것도 호출 할 수 있으며, 우리는 여전히 그 첫 번째 매개 변수를 사용할 수 있습니다. 796 00:41:48,090 --> 00:41:53,800 >> 그래서 사실이 특별한 존재 익명 함수의 데이터 유형, 797 00:41:53,800 --> 00:41:57,710 이 특별한 이름이있다 익명 함수의 변수 798 00:41:57,710 --> 00:42:00,280 와 그 시작 달러 기호 나타냅니다 799 00:42:00,280 --> 00:42:03,785 파라미터 번호, 제로 이 기능, 색인. 800 00:42:03,785 --> 00:42:05,410 그래서 계속 몇 가지가있다. 801 00:42:05,410 --> 00:42:08,550 여기에 다음 반환테니까 함수를 나타내는 중괄호, 802 00:42:08,550 --> 00:42:09,050 오른쪽? 803 00:42:09,050 --> 00:42:13,920 >> 내가 정의하지 않습니다 공지 사항 매개 변수 유형 또는 반환 형식. 804 00:42:13,920 --> 00:42:16,460 사실은 추측 할 수있다 서명 때문에 805 00:42:16,460 --> 00:42:18,360 이 원래의 기능. 806 00:42:18,360 --> 00:42:20,500 그래서 우리는 제거 할 수 있습니다 그런 가능성. 807 00:42:20,500 --> 00:42:25,120 그러나 또한 나는에 달러 기호 제로를 사용할 수 있습니다 의 첫 번째 매개 변수를 나타냅니다 808 00:42:25,120 --> 00:42:28,200 이 익명 함수에 전달. 809 00:42:28,200 --> 00:42:31,630 그래서 더 그것을 단순화. 810 00:42:31,630 --> 00:42:32,750 OK? 811 00:42:32,750 --> 00:42:33,820 지금까지 너무 좋아? 812 00:42:33,820 --> 00:42:36,980 >> 지금은이 유형 선택이야 당신을 이 달러 기호 제로 기억 813 00:42:36,980 --> 00:42:40,130 우리는이 중괄호에서 본 것을 우리는 잠시 동안 보았다 814 00:42:40,130 --> 00:42:43,870 전이 스위프트 여섯 예에? 815 00:42:43,870 --> 00:42:46,560 바로 여기였다. 816 00:42:46,560 --> 00:42:48,430 그게 정확히 알 수 우리가보고있는, 817 00:42:48,430 --> 00:42:51,580 우리가 통과 한 것입니다 이 분할 기능으로 818 00:42:51,580 --> 00:42:55,140 익명 함수 그 첫 번째 매개 변수를 확인 819 00:42:55,140 --> 00:42:57,830 이 콜론 기호와 동일한 경우 볼 수 있습니다. 820 00:42:57,830 --> 00:42:59,830 그리고 그게 정확히 무슨 일어나고있는 모든 것입니다 821 00:42:59,830 --> 00:43:02,320 우리는 수익을 하는거죠있어 키워드는 암시 822 00:43:02,320 --> 00:43:05,800 이 case--에 우리는 반환하고 우리가 비교하고이 값 823 00:43:05,800 --> 00:43:10,020 에 대한 첫 번째 매개 변수 이 문자 콜론. 824 00:43:10,020 --> 00:43:11,730 그리고 그런 종류의이 demystifies. 825 00:43:11,730 --> 00:43:17,210 그리고 당신은이 구조를 보게 될 것입니다 스위프트 구문에 많은, 그래서 계속 수행 826 00:43:17,210 --> 00:43:19,400 당신이있어 마음에 이에서 살펴 본다. 827 00:43:19,400 --> 00:43:21,970 이제 우리는 하차 할 수 있습니다 레일 조금 828 00:43:21,970 --> 00:43:25,460 와 쇼가 정말 멋진 이동 스위프트의 힘도 좀 더. 829 00:43:25,460 --> 00:43:27,950 당신은 몇 가지를 볼 수 있습니다 샘플 코드에서 이러한. 830 00:43:27,950 --> 00:43:29,790 내가 갈거야 이유야 당신이를 표시합니다. 831 00:43:29,790 --> 00:43:37,260 >> 기본적으로 우리가 할 수있는 것은 첫째, 것입니다 모두 나를 위해 불필요한 가지였다 832 00:43:37,260 --> 00:43:41,710 의 모든 전력을 구현 코드는 다윈 가져 오는 경우 때문에 833 00:43:41,710 --> 00:43:46,490 라이브러리는, 실제로 기능을 포함 당신을 위해이 작업을 수행 펑했다. 834 00:43:46,490 --> 00:43:50,570 그래서 우리는 그것을 단순화 할 수 있습니다 더와 지금 우리의 힘 업 기능을 가지고 835 00:43:50,570 --> 00:43:54,890 어디 멋진 한 라이너가 될 단지 이 익명 함수를 돌려주는 836 00:43:54,890 --> 00:44:00,780 그것으로 달러 기호 0을 받아 그것의 지수로베이스와 y. 837 00:44:00,780 --> 00:44:02,582 >> 그러나 우리는 정말 얻을 수 있습니다 때 정말 멋진 838 00:44:02,582 --> 00:44:04,790 스위프트가 실현 후드 아래의 전력을 많이합니다. 839 00:44:04,790 --> 00:44:07,010 운영자의 많은 그 우리는 처리했습니다 840 00:44:07,010 --> 00:44:11,270 더하기 기호와 구분 기호 및 이 모든 것을 당신 일반적으로 841 00:44:11,270 --> 00:44:15,620 데이터 형식으로 작동 프로그램 언어, 842 00:44:15,620 --> 00:44:17,600 실제로 스위프트의 확장이다. 843 00:44:17,600 --> 00:44:21,460 그래서 그는 우리 의미 우리 자신의 연산자를 정의 할 수 있습니다. 844 00:44:21,460 --> 00:44:26,020 >> 그래서 지금은 모든이에 입력 지겨워 펑 후 다음 괄호 845 00:44:26,020 --> 00:44:26,520 베이스. 846 00:44:26,520 --> 00:44:27,520 나는 그렇게하고 싶지 않아. 847 00:44:27,520 --> 00:44:30,190 실제로 갖고 싶어 내가 그렇게 할 수 있습니다 연산자. 848 00:44:30,190 --> 00:44:34,510 그래서 내가 원하는 스위프트을 알 수 있습니다 운영자, 스타를 만들려면 849 00:44:34,510 --> 00:44:39,472 내가 캐럿을 사용할 수 없습니다 그런데 star-- 캐럿 연산자 때문이며 850 00:44:39,472 --> 00:44:40,680 완전히 다른 무언가를. 851 00:44:40,680 --> 00:44:42,720 그래서 정렬하지 않으 의 충돌. 852 00:44:42,720 --> 00:44:45,750 그래서 당신은 다양한에서 무엇을보고 파이썬을 포함하여 언어의, 853 00:44:45,750 --> 00:44:48,810 스타 스타 연산자처럼 지수를 나타냅니다. 854 00:44:48,810 --> 00:44:50,730 >> 그래서 유일한 이유가 내가 왜 그런 짓을했는지. 855 00:44:50,730 --> 00:44:53,067 그리고 그것은 될 것 중위 유형 연산자. 856 00:44:53,067 --> 00:44:54,900 그리고 제공해야 그것은 몇 가지 정보 857 00:44:54,900 --> 00:44:58,386 이것의 우선 순위에 대한 운영자는 그래서 왼쪽 연관입니다. 858 00:44:58,386 --> 00:45:00,260 그것은 상대적으로처럼 높은 우선 순위 비교 859 00:45:00,260 --> 00:45:02,432 요약 또는 곱셈합니다. 860 00:45:02,432 --> 00:45:04,140 그것은 높은 우선 순위의 그 모든 것보다. 861 00:45:04,140 --> 00:45:04,931 등등 등등. 862 00:45:04,931 --> 00:45:07,410 그리고 나는 정의 기능 실제로 863 00:45:07,410 --> 00:45:10,070 이 연산자가 무엇을 지시한다. 864 00:45:10,070 --> 00:45:14,150 그래서 왼쪽을 가지고 있다고 가정 편과 오른쪽, 865 00:45:14,150 --> 00:45:17,330 하는 것입니다 아마도 이것에 대한 더 나은 변수 이름. 866 00:45:17,330 --> 00:45:20,690 왼쪽과 오른쪽. 867 00:45:20,690 --> 00:45:26,740 그때 나는이 힘을 취할 수 우측에 좌측 868 00:45:26,740 --> 00:45:28,980 그 값을 반환합니다. 869 00:45:28,980 --> 00:45:30,370 그래서 지금은 슈퍼 달콤한입니다. 870 00:45:30,370 --> 00:45:33,790 우리가 할 일은 2 성급 스타 3 그리고는 제 3 전원 2 871 00:45:33,790 --> 00:45:35,290 우리는 8의 값을 얻을. 872 00:45:35,290 --> 00:45:40,280 2 성급 스타 (10)는 2입니다 10 전력, 우리는 1,024을 얻을. 873 00:45:40,280 --> 00:45:43,630 >> 이제 함수의 우리의 힘, 이는 다시 다르다 874 00:45:43,630 --> 00:45:47,030 이 때문에 뒤의 모든 생각 우리는 하나의 기능을 가지고였습니다 875 00:45:47,030 --> 00:45:50,700 항상 어떤 값을 사용하고 굳이 곱하거나 오히려 876 00:45:50,700 --> 00:45:53,240 같은 전력 지수를합니다. 877 00:45:53,240 --> 00:45:54,300 그래서 지금은 더 간단합니다. 878 00:45:54,300 --> 00:45:57,070 그래서 지금은 그냥 달러입니다 0 스타 스타 y를 서명합니다. 879 00:45:57,070 --> 00:46:01,190 우리는 심지어 더 이상 펑를 사용할 필요가 없습니다. 880 00:46:01,190 --> 00:46:03,020 >> OK, 사​​람은 누구입니까? 881 00:46:03,020 --> 00:46:03,700 우리는 확인하고 있습니까? 882 00:46:03,700 --> 00:46:05,090 이 물건에 대한 질문? 883 00:46:05,090 --> 00:46:05,815 그래? 884 00:46:05,815 --> 00:46:09,500 >> 청중 : 때 당신 ... [들리지] Y 이중의 펑크 전력. 885 00:46:09,500 --> 00:46:11,441 그래서 당신은 함수를 반환 할 때. 886 00:46:11,441 --> 00:46:13,190 다니엘 ARMENDARIZ : Y 이중의 펑크 전력. 887 00:46:13,190 --> 00:46:14,270 오, 그래, 나도 몰라 Y 번호는 무엇인지. 888 00:46:14,270 --> 00:46:15,708 그것에 대해 죄송합니다. 889 00:46:15,708 --> 00:46:19,420 >> 청중 : 왜 당신이 반환된다 함수 [들리지] 인클로저. 890 00:46:19,420 --> 00:46:24,214 달러 제로 스타 아닌가요 스타 Y [들림] 891 00:46:24,214 --> 00:46:29,710 그와 그 운영자를 찾아 더블 [들림] 두 번 갈까요? 892 00:46:29,710 --> 00:46:32,742 >> 다니엘 ARMENDARIZ : 그래서하자 나 귀하의 질문에 대답 893 00:46:32,742 --> 00:46:35,950 나는 그것을 이해하고 말해 줄 수있는 방법 나는 당신의 질문을 이해하지 않은 경우. 894 00:46:35,950 --> 00:46:42,850 그래서이 구조, 중괄호 달러 기호 영 스타 스타 Y, 895 00:46:42,850 --> 00:46:44,280 함수이다. 896 00:46:44,280 --> 00:46:50,080 그리고는 매개 변수를 받아 이 달러 기호 0으로 표시. 897 00:46:50,080 --> 00:46:55,830 반환 키워드는이 암시된다 매우 짧은, 익명 함수 구문. 898 00:46:55,830 --> 00:46:57,870 >> 어떤 본질적 것을 의미한다 어떤이 말하는 899 00:46:57,870 --> 00:47:01,270 나는를 정의한다는 거죠 function-- 다음 나는거야 900 00:47:01,270 --> 00:47:05,320 그냥 전화 어떤 .... 나는 약간의 y 값을한다. 901 00:47:05,320 --> 00:47:08,300 나는 두 번이다 y를 가지고있다. 902 00:47:08,300 --> 00:47:10,750 그리고 더블을 반환하고 있습니다. 903 00:47:10,750 --> 00:47:19,010 그리고 내가 돌려 내에서이 미안 y--, 나는이 y-- X라는 필요가 없습니다. 904 00:47:19,010 --> 00:47:20,240 얘야, 그래, 그래 .... 905 00:47:20,240 --> 00:47:27,440 X-- nope-- 스타 스타 (Y). 906 00:47:27,440 --> 00:47:29,720 >> 그래서 이것은 단지입니다 이러한 단순화 된 버전. 907 00:47:29,720 --> 00:47:33,990 그리고 이유 나는 달러가 그 기호 제로는이 케이스를 사용하는 것입니다 908 00:47:33,990 --> 00:47:41,050 나는 더 이상이 없음을 의미합니다 이렇게 더 이상 펑을 입력하지 않거나하기 909 00:47:41,050 --> 00:47:45,570 내가 뭔가를해야 추천 스타 스타 2. 910 00:47:45,570 --> 00:47:48,530 나는 단지 하나를 가질 수 있습니다 기능이라고 광장 911 00:47:48,530 --> 00:47:50,820 즉, 항상 걸릴 것입니다 입력으로 일부 값 912 00:47:50,820 --> 00:47:52,980 실제로 그의 제곱을 반환합니다. 913 00:47:52,980 --> 00:47:56,460 >> 따라서 폐쇄의 전체 목적은 그저 사실을 캡슐화 914 00:47:56,460 --> 00:47:59,920 난 항상 할 때마다 Y를 사용하도록 나는 힘으로 그 함수를 호출 915 00:47:59,920 --> 00:48:01,710 이 지수를 촬영할 때. 916 00:48:01,710 --> 00:48:04,650 그래서, 다음 반환 허용 기능 917 00:48:04,650 --> 00:48:08,460 기지를 두 번, 그리고 그 지수의 결과를 반환 918 00:48:08,460 --> 00:48:10,740 여기에 키입니다. 919 00:48:10,740 --> 00:48:12,790 그리고 그 주요 특징이다. 920 00:48:12,790 --> 00:48:14,430 번창의 조금이 있었다. 921 00:48:14,430 --> 00:48:17,970 >> 이것은 어떤 차이가 없습니다 종래 예에 비해 922 00:48:17,970 --> 00:48:20,530 그러나 그것은 단지 조금이었다 우리가 실제로 할 수 번창 923 00:48:20,530 --> 00:48:24,500 스위프트의 연산자를 만들 실제로 그것으로 물건을, 924 00:48:24,500 --> 00:48:26,396 어느 멋진 물건의 종류이다. 925 00:48:26,396 --> 00:48:27,520 나는 귀하의 질문에 대답 했습니까? 926 00:48:27,520 --> 00:48:28,390 달콤한. 927 00:48:28,390 --> 00:48:31,350 다른 건 우리가 이동하기 전에? 928 00:48:31,350 --> 00:48:33,570 확인을 클릭합니다. 929 00:48:33,570 --> 00:48:36,430 >> 지금이 일종의 구걸 문제는 거저 물론 OK입니다 930 00:48:36,430 --> 00:48:40,870 지금 우리는 능력을 가지고 함수는 반환합니다. 931 00:48:40,870 --> 00:48:48,950 우리는 또한 데이터 등의 기능을 전달할 수 있습니다 또는 다른 함수에 매개 변수로? 932 00:48:48,950 --> 00:48:50,710 그리고 사실 우리는 할 수 있습니다. 933 00:48:50,710 --> 00:48:53,480 그럼 우리가 가정 해 봅시다 동일한 코드의 모든. 934 00:48:53,480 --> 00:48:56,120 우리는 광장 변수가 즉,이 코드를 네모로합니다. 935 00:48:56,120 --> 00:48:59,320 그리고 우리는 큐브 변수가 즉, 일부 데이터를 큐브합니다. 936 00:48:59,320 --> 00:49:02,440 그리고 우리는 실제로 적용 할 숫자 광범위한. 937 00:49:02,440 --> 00:49:06,870 >> 그래서 우리가 할 유혹 될 일을, 물론, 확실히 유효한, 938 00:49:06,870 --> 00:49:15,430 번호의 목록을 반복하는 것입니다 내 기능 광장과 큐브를 적용 939 00:49:15,430 --> 00:49:22,270 결과로 두 개의 새로운 목록을 얻을 제곱이 원래의 목록입니다 그 940 00:49:22,270 --> 00:49:24,970 각각 반듯한. 941 00:49:24,970 --> 00:49:26,880 완벽하게 허용. 942 00:49:26,880 --> 00:49:29,130 그러나 것은 무엇 그 우리는 여기에서 볼 우리가 가지고있다 943 00:49:29,130 --> 00:49:31,310 다시, 우리의 코드의 중복. 944 00:49:31,310 --> 00:49:34,310 그리고 아마도 기회가있다 우리를 위해이 조금 단순화. 945 00:49:34,310 --> 00:49:41,260 우리 수있는 방법이 있다면 무엇 실제로 항상 어떤 목록을 반복 946 00:49:41,260 --> 00:49:45,450 그냥이 마법에 전달 변수를 작동하는지 947 00:49:45,450 --> 00:49:47,350 함수를 나타낸다 우리가 적용 할 것을 948 00:49:47,350 --> 00:49:50,336 이 목록에있는 모든 단일 항목. 949 00:49:50,336 --> 00:49:53,210 이 개념을 무슨 일로 고차 함수라고합니다. 950 00:49:53,210 --> 00:49:57,150 그리고 어떤이는 본질적으로 , 우리가 함수를 만들 수 있다는 것입니다. 951 00:49:57,150 --> 00:50:00,210 >> 그리고이 경우에는이라고 매퍼, 그냥, 그것을 이름을 지정합니다 952 00:50:00,210 --> 00:50:02,510 모든 이상 매핑 목록에서 단일 항목. 953 00:50:02,510 --> 00:50:06,191 어디에서 목록을 나는 기능을. 954 00:50:06,191 --> 00:50:08,440 그리고 그 기능은 물론, 특정 서명이 있습니다. 955 00:50:08,440 --> 00:50:11,980 이 매개 변수를 두 번으로 받아 그리고 출력은 더블 것입니다. 956 00:50:11,980 --> 00:50:14,310 그리고 전체적인 결과 이 함수는 것입니다 957 00:50:14,310 --> 00:50:18,921 double 유형의 인 새로운리스트가 될 수 있습니다. 958 00:50:18,921 --> 00:50:19,420 OK? 959 00:50:19,420 --> 00:50:22,650 >> 그리고 나는 무엇을 할거야 이 함수 f를 적용하는 것입니다 960 00:50:22,650 --> 00:50:24,960 내리스트에있는 모든 요소. 961 00:50:24,960 --> 00:50:30,280 그리고 reply-- 오히려이 새로운를 반환 정말 멋진 결과로 목록입니다. 962 00:50:30,280 --> 00:50:31,820 지금은 주위의 기능을 전달할 수 있습니다. 963 00:50:31,820 --> 00:50:35,290 그리고 고차의이 아이디어 기능은 정말 중요합니다. 964 00:50:35,290 --> 00:50:39,260 그리고이 매퍼는 정말 가난한 사람의 구현 965 00:50:39,260 --> 00:50:43,130 내장 기능의 스위프트에지도를했다. 966 00:50:43,130 --> 00:50:45,690 그리고, 정확하게이 수행 아마도 조금 더 나은. 967 00:50:45,690 --> 00:50:48,260 >> 이것은 그저 일반적인이다 단순화 된 버전이 968 00:50:48,260 --> 00:50:51,270 우리는 정보를 볼 수 있습니다 여기에 적용되는 개념입니다. 969 00:50:51,270 --> 00:50:54,630 이제 방법을보고 제가 실제로 내 광장을 적용 할 수 있습니다 970 00:50:54,630 --> 00:50:57,850 내 큐브 기능 번호 목록에. 971 00:50:57,850 --> 00:50:58,780 내 매퍼를 실행합니다. 972 00:50:58,780 --> 00:51:00,280 나는 그것에 번호 내 목록을 제공합니다. 973 00:51:00,280 --> 00:51:02,155 난에 제공 이 함수는거야 974 00:51:02,155 --> 00:51:04,170 그 인덱스에 각각 적용합니다. 975 00:51:04,170 --> 00:51:07,120 그리고 그것은 될 것입니다 결과로서 출력한다. 976 00:51:07,120 --> 00:51:11,810 그리고 나는 제곱 한 것을 보게됩니다 그 결과로 내 번호를 반듯한. 977 00:51:11,810 --> 00:51:14,660 >> 물론 매퍼 취할 것 익명 함수의 어떤 종류. 978 00:51:14,660 --> 00:51:17,640 우리는 심지어 내가 만든 것을 볼 수 있습니다 새로운 익명 함수 그 979 00:51:17,640 --> 00:51:20,220 그냥 몇 가지 매개 변수를 2하여 나눕니다. 980 00:51:20,220 --> 00:51:24,340 그리고 우리는, 나는 사실 수 있었을 것을 볼 수 있습니다 대신 2 내 목록을 나누었다. 981 00:51:24,340 --> 00:51:25,250 쿨? 982 00:51:25,250 --> 00:51:27,340 지금까지 너무 좋아? 983 00:51:27,340 --> 00:51:29,650 그래, 지금하자 다시이 아이디어에 온다. 984 00:51:29,650 --> 00:51:36,160 이제이 백을 구현하자 성적표의 맥락. 985 00:51:36,160 --> 00:51:41,860 >> 나는 할 경우, 우리는 내가 할 수있는 것을 알 수 있습니다 이러한 options-- 다양한 적용 986 00:51:41,860 --> 00:51:44,330 또는 이들의 다양한 고차 함수 987 00:51:44,330 --> 00:51:51,450 실제로 작업을 수행하는 내 능력을 단순화 번호 목록에 사물의 다양한. 988 00:51:51,450 --> 00:51:53,660 예를 들어, 그래서 , 번호 목록을 989 00:51:53,660 --> 00:51:57,060 고차 함수 중 하나 그 감소라고 존재한다. 990 00:51:57,060 --> 00:52:00,080 무엇 감소하는 것은 오히려 않습니다 지도보다 감소 것 991 00:52:00,080 --> 00:52:03,710 목록에 두 가지 요소를 가지고, 일부 기능을 것이다 992 00:52:03,710 --> 00:52:07,420 의 두 요소를 비교 목록 및 그러므로 것 993 00:52:07,420 --> 00:52:09,610 일종의 output-- 함수의 출력 994 00:52:09,610 --> 00:52:13,790 다른 요소가 될 것이다 당신은 다른 사람과 비교하는. 995 00:52:13,790 --> 00:52:18,190 >> 그래서 당신은 실제로이 사용할 수 목록에있는 숫자의 합. 996 00:52:18,190 --> 00:52:20,640 예를 들어, 당신은이 있다면 하나의리스트, 2, 3, 4, 5, 997 00:52:20,640 --> 00:52:22,940 첫 번째 요소 1과 2를 취할. 998 00:52:22,940 --> 00:52:27,270 당신은 또한에 적용 할 수있는 이 두 요소를 취하여, 999 00:52:27,270 --> 00:52:30,980 그 요소 중 하나를 내뿜으며, 어떤 값 3이 될 것이다. 1000 00:52:30,980 --> 00:52:35,684 그런 다음 우리는 다음에 그 값 3을 리스트의 요소는,이 두 합산 1001 00:52:35,684 --> 00:52:37,100 다음 목록을 아래로 계속. 1002 00:52:37,100 --> 00:52:40,410 >> 우리는 감소하고 하나의 값으로 나열합니다. 1003 00:52:40,410 --> 00:52:42,700 그리고 우연히도 더하기 기호 그 1004 00:52:42,700 --> 00:52:44,670 연산자는 우리가 방금 본 것처럼입니다. 1005 00:52:44,670 --> 00:52:47,500 이 연산자는 실제로 기능하는 1006 00:52:47,500 --> 00:52:53,100 정확하게이 목록을 가지고 그 우리 원하는 것이 이러한 속성이 아니라 1007 00:52:53,100 --> 00:52:54,770 우리는 할 것이다. 1008 00:52:54,770 --> 00:52:56,760 그래서 내가하는 것이 좋습니다 이것 좀보세요. 1009 00:52:56,760 --> 00:52:59,290 나는 이동의 정렬 할 에이 코드의 일부에서 1010 00:52:59,290 --> 00:53:05,330 우리가 실제로 몇 가지를 검색 할 수 있도록 (듯이) 엑스 코드에서 실제, 실제 사실 스위프트, 1011 00:53:05,330 --> 00:53:06,880 아이폰 OS 개발. 1012 00:53:06,880 --> 00:53:08,630 그러나 좀 봐 이것과 당신이 할 수 있는지 1013 00:53:08,630 --> 00:53:11,171 무슨 일이 일어나고 있는지를 구문 분석 이러한 높은 순서의 일부 1014 00:53:11,171 --> 00:53:13,790 필터 기능을 포함한, 줄이고, 심지어거야 1015 00:53:13,790 --> 00:53:17,060 여기 어딘가에을 참조하십시오뿐만 아니라 매핑합니다. 1016 00:53:17,060 --> 00:53:17,910 바로 여기입니다. 1017 00:53:17,910 --> 00:53:20,410 그것은 어디 시퀀스를 취할 것 성적과 실제로 것 1018 00:53:20,410 --> 00:53:24,230 스위치 구조를 사용하여지도, 당신은 C에서 인식 할 수있는, 1019 00:53:24,230 --> 00:53:27,640 하지만 실제로는 더 많은입니다 스위치 구조체보다 강력한 1020 00:53:27,640 --> 00:53:29,810 우리는 C.에있는 것을 1021 00:53:29,810 --> 00:53:31,930 >> 그리고 우리는에 그 적용합니다 리스트에있는 모든 요소 1022 00:53:31,930 --> 00:53:34,540 실제로 제공 각각의 편지 등급 1023 00:53:34,540 --> 00:53:40,780 이러한 모든 개념을 사용하여 해당 등급의 것을 우리는 이전에 대해 얘기했습니다. 1024 00:53:40,780 --> 00:53:44,760 이제 단지에 대한 회피하자 분 구조체에 대한 이야기​​. 1025 00:53:44,760 --> 00:53:49,680 그래서 구조체는 C에 대기하고 있는지 우리 새로운 데이터 유형을 정의 할 수 있었다. 1026 00:53:49,680 --> 00:53:53,590 구조체는 스위프트 내에 존재한다. 1027 00:53:53,590 --> 00:53:58,980 그래서 다른 구조를 많이 할 라고 열거와 클래스, 정말 1028 00:53:58,980 --> 00:54:01,175 이 생각을 완전히 다른 수준입니다. 1029 00:54:01,175 --> 00:54:05,300 >> 그리고 기본적으로 그냥 방법 의 새로운 데이터 유형을 정의. 1030 00:54:05,300 --> 00:54:11,010 그래서 당신이 온다면 당신은을 끝낼 경우 클래스 또는 구조체 또는 열거 형에서, 1031 00:54:11,010 --> 00:54:13,290 그것 때문에 혼동하지 않습니다. 1032 00:54:13,290 --> 00:54:16,280 그것은 정의의 단지 방법 데이터의 새로운 특정 유형. 1033 00:54:16,280 --> 00:54:20,230 그리고이 때 정말 중요하다 우리는 iOS 앱 개발에 대해 얘기하고 1034 00:54:20,230 --> 00:54:24,630 모든 것을 그 때문에 iOS 앱 내에 존재 1035 00:54:24,630 --> 00:54:27,460 본질적으로 어떤 종류의 목적이다. 1036 00:54:27,460 --> 00:54:31,980 그리고 기본적으로 개체이다 클래스 또는 열거 나 구조체. 1037 00:54:31,980 --> 00:54:34,760 >> 난이 경우에 따라서 새로운 데이터 유형을 정의 1038 00:54:34,760 --> 00:54:37,740 나는 평가를 호출 걸 즉 포함한 일부 속성을의 1039 00:54:37,740 --> 00:54:41,040 이름과 등급의 순서. 1040 00:54:41,040 --> 00:54:43,470 평가 그래서 한 가지 유형 내가 생각하고있는 수도 1041 00:54:43,470 --> 00:54:44,760 예를 들어 퀴즈 것입니다. 1042 00:54:44,760 --> 00:54:48,180 내가 가지고 싶은 것 퀴즈이었다 평가 1043 00:54:48,180 --> 00:54:51,460 그 학년의 다양한했다 퀴즈 하나, 그와 관련된, 1044 00:54:51,460 --> 00:54:52,840 두 퀴즈, 기타 등등. 1045 00:54:52,840 --> 00:54:55,720 >> 아니면 다른 유형이있을 수 있습니다 문제 세트의 평가. 1046 00:54:55,720 --> 00:54:56,650 그리고 일을 할 수있다. 1047 00:54:56,650 --> 00:54:59,860 사실 수 있습니다 이 유형 내 기능 1048 00:54:59,860 --> 00:55:02,645 지금라는 방법이 있습니다 데이터의. 1049 00:55:02,645 --> 00:55:04,520 당신이 이제까지을 참조한다면 단어 방법, 그것은 정말 1050 00:55:04,520 --> 00:55:08,190 적용되는 함수이다 단지 매우 구체적인 클래스, 1051 00:55:08,190 --> 00:55:10,100 또는 데이터의 매우 특정한 타입. 1052 00:55:10,100 --> 00:55:12,350 그것은 내에서 데이터를 수정할 수 있습니다. 1053 00:55:12,350 --> 00:55:15,510 >> 그래서 다른 말로하면, 내가 원하는 경우 내 평가에 등급을 추가, 1054 00:55:15,510 --> 00:55:18,630 그럼 내가해야 할 일은이다 입력했던 점수를 추가 1055 00:55:18,630 --> 00:55:22,660 이 기능에 내 내부 속성입니다. 1056 00:55:22,660 --> 00:55:25,880 여기에 또 다른 깔끔한 구조가있다 이 점 점 점이다 스위프트,에 1057 00:55:25,880 --> 00:55:31,780 점수 할 수 있다는 것을 의미 운영자, 지금 정수의 번호를 받아들입니다. 1058 00:55:31,780 --> 00:55:33,940 그리고 점수가 될 것입니다 정수의 배열이 1059 00:55:33,940 --> 00:55:39,030 내 함수에 전달 된 어느 이 같은 물건을 할 수 있다는 것을 의미한다. 1060 00:55:39,030 --> 00:55:42,360 >> 나는 성적을 추가하고 바로 제공 할 수 그것으로 정수의 임의의 숫자 1061 00:55:42,360 --> 00:55:47,420 실제로 어레이를 제공 할 내 기능에서 그 값 1062 00:55:47,420 --> 00:55:50,270 또는 내 방법으로는 경우이다. 1063 00:55:50,270 --> 00:55:54,040 이제이 때문에 중요하다 엑스 코드의 모든, 아이폰 OS의 모든, 1064 00:55:54,040 --> 00:55:56,250 객체는 사실이다. 1065 00:55:56,250 --> 00:55:59,630 그래서 마음에 계속 우리는 오픈 엑스 코드를 체포 할 때 1066 00:55:59,630 --> 00:56:04,890 와 아이폰 OS를 넘어 앞으로 이동 버전, 둘, 셋 1067 00:56:04,890 --> 00:56:08,820 실제로 버전 네 이동합니다. 1068 00:56:08,820 --> 00:56:11,940 >> 그리고 또,이 모든 것 세미나 페이지에 게시. 1069 00:56:11,940 --> 00:56:16,980 아이폰 OS 네 불어 전체의 일종이다 아주 기본적인 응용 프로그램의 구현입니다. 1070 00:56:16,980 --> 00:56:23,920 그리고 어떤이 응용 프로그램이하는 일은 그 것이다 이처럼 보이는 UI를로드합니다. 1071 00:56:23,920 --> 00:56:28,680 우리는 스토리 보드를 클릭하면 다시 말하지만, 우리는 할 수 이는 모습이다 것을 알 수있다. 1072 00:56:28,680 --> 00:56:31,320 이 UI입니다. 1073 00:56:31,320 --> 00:56:33,676 그것은 매우 상단에 제목이 있습니다. 1074 00:56:33,676 --> 00:56:34,800 나는 웹 갤러리를 호출했습니다. 1075 00:56:34,800 --> 00:56:38,400 >> 중간에 요소가 있어요 UI 이미지보기라고합니다. 1076 00:56:38,400 --> 00:56:41,340 그리고 맨 아래에있다 하나의 버튼으로 도구 모음 그 1077 00:56:41,340 --> 00:56:46,850 에 허용 신축성 공백이 이 도구 모음의 중간에 센터. 1078 00:56:46,850 --> 00:56:51,780 그리고 무슨 일이 그 때이다 로드 그건 JSON 파일을 다운로드 1079 00:56:51,780 --> 00:56:55,540 다른 서버에 포함, 그 JSON 파일을 구문 분석 1080 00:56:55,540 --> 00:56:58,130 및 JSON 파일은 다음과 같은 비트를 보인다. 1081 00:56:58,130 --> 00:57:02,770 1082 00:57:02,770 --> 00:57:06,230 JSON 파일은 다음과 같습니다. 1083 00:57:06,230 --> 00:57:08,650 이 그것입니다. 1084 00:57:08,650 --> 00:57:11,730 >> 그것은 앨범 이름을 가지며 이 사진의 배열을 가지고있다. 1085 00:57:11,730 --> 00:57:13,490 그 사진의 각 이름을 가져야하며 1086 00:57:13,490 --> 00:57:19,460 를 나타내는 URL 자체 개별 사진의 JPEG 버전. 1087 00:57:19,460 --> 00:57:24,780 그래서 일이 무엇을 할 때이 프로그램이 로드는 JSON 파일을 다운로드, 1088 00:57:24,780 --> 00:57:30,590 그것을 구문 분석에이 모든 것을두고 아이폰 OS 어레이의 등가 1089 00:57:30,590 --> 00:57:33,020 있는 NSArray입니다 응용 프로그램 개발. 1090 00:57:33,020 --> 00:57:37,520 그리고 난 다음로드 할 수 있습니다 응용 프로그램에이 데이터 1091 00:57:37,520 --> 00:57:41,100 내 화면에로드합니다. 1092 00:57:41,100 --> 00:57:44,760 >> 로드 된 이미지가있다 맨 아래에있는 버튼. 1093 00:57:44,760 --> 00:57:49,190 나는 다음 이미지를, 그 다음 가져 오기를 클릭하면 인터넷에서 해당 이미지를 가져옵니다 1094 00:57:49,190 --> 00:57:53,370 그 이미지를 대체 UI 이미지보기. 1095 00:57:53,370 --> 00:57:57,820 그래서 당신은 실제로이를 다운로드 할 수 있습니다 컴퓨터에 그것을 살펴. 1096 00:57:57,820 --> 00:58:00,940 그리고 실제로 구축 당신의 장치에 컴파일. 1097 00:58:00,940 --> 00:58:04,710 그러나 본질적으로 공정은 이것은 storyboard--를 만들 1098 00:58:04,710 --> 00:58:08,080 또는 오히려 create--하지 하지만 스토리 보드를 선택합니다. 1099 00:58:08,080 --> 00:58:15,030 당신이 mind--하지 않으면 실제로 we'll-- 우리는 초 단지 몇 할게요 1100 00:58:15,030 --> 00:58:18,390 실제로 당신을 표시하려면이 수행 된 방법. 1101 00:58:18,390 --> 00:58:22,430 1102 00:58:22,430 --> 00:58:27,820 >> 얼마나 우리가 실제로 할 수 있도록 달성이 만들어 조금 더 1103 00:58:27,820 --> 00:58:28,360 명백한. 1104 00:58:28,360 --> 00:58:30,651 단일보기 응용 프로그램, 난 이 세미나를 호출하는 것 1105 00:58:30,651 --> 00:58:35,330 네 표현이 특정 번호. 1106 00:58:35,330 --> 00:58:36,335 바탕 화면에 저장합니다. 1107 00:58:36,335 --> 00:58:39,890 1108 00:58:39,890 --> 00:58:42,110 OK, 스토리 보드를 클릭 것. 1109 00:58:42,110 --> 00:58:47,030 그리고 나는 무엇을 할거야 내 이미지보기를 찾을 수 있습니다, 1110 00:58:47,030 --> 00:58:50,940 내 사용자로 드래그 인터페이스 및 센터 그것. 1111 00:58:50,940 --> 00:58:54,850 지금 바로 불행히도을 중심으로 전체적으로 많은 일을하려고하지 않습니다, 1112 00:58:54,850 --> 00:58:58,680 화면을 제외하고 즉,이 정확한 크기입니다. 1113 00:58:58,680 --> 00:59:03,950 >> 그래서 우리는에 의해 그 자신을 설득 할 수 이 두 원 일을 클릭, 1114 00:59:03,950 --> 00:59:08,290 이 팝업을 아래로 가져 여기에 메뉴 변경까지 1115 00:59:08,290 --> 00:59:11,110 여기서 우리가 실제로거야, 미리 봅니다 미리 볼 수있는 기회를 얻을 1116 00:59:11,110 --> 00:59:13,530 이것은 실제로 것 다른 장치에서 찾습니다. 1117 00:59:13,530 --> 00:59:16,500 우리가 볼 수 있듯이, 우리는 심지어하지 않습니다 이 특별한 경우에 그것을 참조하십시오. 1118 00:59:16,500 --> 00:59:18,500 그래서 지금은이를 닫습니다거야. 1119 00:59:18,500 --> 00:59:22,100 >> 내가 선택한거야 아주에서 다운이 아이콘 1120 00:59:22,100 --> 00:59:23,910 화면의 하단 부분입니다. 1121 00:59:23,910 --> 00:59:26,584 그것은 자동 레이아웃 문제를 해결했다. 1122 00:59:26,584 --> 00:59:28,000 죄송합니다, 그것은 하단에 차단합니다. 1123 00:59:28,000 --> 00:59:36,360 하지만 그 클릭하면, 내가 이 팝업이 사라 노랑이됩니다 얻을. 1124 00:59:36,360 --> 00:59:39,740 1125 00:59:39,740 --> 00:59:51,220 내가 도착하면이 팝 업입니다 나 누락 된 제약 조건을 추가 할 수 있습니다. 1126 00:59:51,220 --> 00:59:53,780 그리고로는 것을 일 다음 정렬을 잠급니다 1127 00:59:53,780 --> 00:59:56,640 의 중앙부 내로 나는 같은 화면이 예상. 1128 00:59:56,640 --> 01:00:00,520 >> 이제 위해이 버튼을 얻을 수 그 위에, 나는 편집기로 이동해야합니다. 1129 01:00:00,520 --> 01:00:05,010 퍼가기에서 클릭으로 이동 네비게이션 컨트롤러. 1130 01:00:05,010 --> 01:00:08,900 무슨 할 것하면 해당 추가 것이다 그것은이 모든 다른 구성 요소, 1131 01:00:08,900 --> 01:00:11,310 하지만 실제로 연결됩니다 그것은 다시 내 원래의 UI에. 1132 01:00:11,310 --> 01:00:14,450 그리고 세부 사항은, 다시, 우리는하지 않습니다 지금 당장 걱정해야합니다. 1133 01:00:14,450 --> 01:00:16,710 하지만이하고 싶어 맨 아래에 도구 모음. 1134 01:00:16,710 --> 01:00:18,530 그래서 나는 쇼 도구 모음을 확인합니다. 1135 01:00:18,530 --> 01:00:21,870 >> 그리고 이것은, 내보기 내에서 제공 이는 지금 다른 곳이다, 1136 01:00:21,870 --> 01:00:23,900 우리는 여기에 링크를 볼 수 있습니다. 1137 01:00:23,900 --> 01:00:28,710 이제 도구 모음을 제공합니다 내 UI의 맨 아래에. 1138 01:00:28,710 --> 01:00:34,770 그래서 지금, 선택보다는 이미지보기, 나는, 레이블을 찾을 수 있습니다 1139 01:00:34,770 --> 01:00:41,140 또는 오히려 toolbar-- 의 그 어디, 보자? 1140 01:00:41,140 --> 01:00:41,890 그것은 무엇이라고? 1141 01:00:41,890 --> 01:00:49,760 button-- 항목 bar-- item-- sorry-- 바 버튼 항목을 선택합니다. 1142 01:00:49,760 --> 01:00:54,590 그 거기에 풍덩하고 몇 적용 양쪽에 유연하게 공간 1143 01:00:54,590 --> 01:00:57,429 실제로 중앙합니다. 1144 01:00:57,429 --> 01:00:58,970 그래서 지금은 기본적으로, 내 UI를 만들었습니다. 1145 01:00:58,970 --> 01:01:01,428 그리고 나는하여 이름을 부여 할 수 있습니다 맨 위에 두 번 클릭 1146 01:01:01,428 --> 01:01:04,880 여기 등 웹 갤러리를 말하는. 1147 01:01:04,880 --> 01:01:08,100 이제 다시, 이러한 요소는 스스로 그 존재한다. 1148 01:01:08,100 --> 01:01:10,400 그리고 연결해야 내 코드에있는 1149 01:01:10,400 --> 01:01:14,297 다시 가져 와서 할 수있는 이 두 원 아이콘까지, 1150 01:01:14,297 --> 01:01:15,380 미리보기에서 변경. 1151 01:01:15,380 --> 01:01:18,950 어느, 그런데, 지금 우리가 볼 수 있습니다 친절을 중심으로 좋은 볼 것이다 1152 01:01:18,950 --> 01:01:23,720 다양한 장치에. 1153 01:01:23,720 --> 01:01:27,280 >> 하는 것, 자동으로 전환 의 ViewController 코드를 가져온다. 1154 01:01:27,280 --> 01:01:29,030 그리고 지금이 부분은 중요하다. 1155 01:01:29,030 --> 01:01:34,590 이러한 연결하기 위해 두 가지 요소, UI에 대한 코드, 1156 01:01:34,590 --> 01:01:36,680 당신이 항목을 선택하는 당신은 연결하려는. 1157 01:01:36,680 --> 01:01:39,570 이 경우 그래서, 우리 실제로 인코딩 할 1158 01:01:39,570 --> 01:01:43,520 포함되어있어 이미지를 변경 이 UI 이미지보기 내. 1159 01:01:43,520 --> 01:01:47,070 그래서 당신은 제어 경우에서 클릭 이미지보기 및 드래그, 1160 01:01:47,070 --> 01:01:51,960 당신은 당신이 작은 막대를 얻을 것을 알 수 있습니다, 당신은 모든이 팝업을 보내 줄 때 1161 01:01:51,960 --> 01:01:53,550 최대가 발생합니다. 1162 01:01:53,550 --> 01:01:56,470 >> 그리고 우리가 것을 말한다 연결을 만듭니다. 1163 01:01:56,470 --> 01:01:59,300 그리고 여기에서 나는 그것을주고 싶어 이름, 갤러리 같은. 1164 01:01:59,300 --> 01:02:00,240 Enter 키를 누르십시오. 1165 01:02:00,240 --> 01:02:03,040 그리고이 실제로 제공 변수라는 갤러리 1166 01:02:03,040 --> 01:02:08,600 그때 나는 내 코드에서 참조 할 수 있음을 예를 들어, 이미지를 변경한다. 1167 01:02:08,600 --> 01:02:10,430 어떻게 그 코드는 실제로 보입니까? 1168 01:02:10,430 --> 01:02:13,030 그럼 다시, 나는 싶지 않아 거기에 너무 많은 시간을 보낸다. 1169 01:02:13,030 --> 01:02:15,430 그리고 내가하는 것이 좋습니다 다운로드하여보세요. 1170 01:02:15,430 --> 01:02:18,330 그러나 가장 중 하나 중요한 측면 코드 1171 01:02:18,330 --> 01:02:20,980 즉, 실제로 이미지를 가져옵니다. 1172 01:02:20,980 --> 01:02:26,470 >> 내가 원하는이 경우에 따라서 내 사진 내에서 얻을 수 있습니다 1173 01:02:26,470 --> 01:02:28,520 포함되어있는 배열, 내 클래스 내. 1174 01:02:28,520 --> 01:02:33,390 나는 이름과 URL을 정의 할 그이 JSON에서 구문 분석입니다. 1175 01:02:33,390 --> 01:02:39,810 사실을 얻을 수있는 장치를 물어 URL은이에서 URL을 가져올 수 1176 01:02:39,810 --> 01:02:44,060 다음의 데이터를 페치 그 URL의 내용을 표시합니다. 1177 01:02:44,060 --> 01:02:49,430 이어서 화상 데이터로 변환 UI 이미지로 전달하여. 1178 01:02:49,430 --> 01:02:52,880 그래서 다시,이 모든 다른 유형은 객체 클래스의 다른 유형의. 1179 01:02:52,880 --> 01:02:58,410 >> 그리고 그때 설정할 수 있습니다 내 데이터와 동일 gallery.image. 1180 01:02:58,410 --> 01:03:00,750 그리고 그 고기의 일종 그것의 사실은 다음이다 1181 01:03:00,750 --> 01:03:08,250 데이터 나서 ... 변화를 변경할 수 다음에 하나의 영상. 1182 01:03:08,250 --> 01:03:10,660 그래서 다시, 희망 지금 구조의 많은 1183 01:03:10,660 --> 01:03:12,240 조금 더 이해가됩니다. 1184 01:03:12,240 --> 01:03:15,260 몇 가지를 발견 할 수있을 여기에 느낌표. 1185 01:03:15,260 --> 01:03:19,810 느낌표는 기본적으로 optionals 관련. 1186 01:03:19,810 --> 01:03:22,657 >> 내가 기본적으로 말을하고있어입니다 심지어 확인하지 않고 1187 01:03:22,657 --> 01:03:24,490 데이터가 있는지 확인합니다 이 옵션 내에서, 1188 01:03:24,490 --> 01:03:27,140 내가 가서 생각하는거야 있음이 그것을 푸는. 1189 01:03:27,140 --> 01:03:31,340 우리의 비유를 사용하는 것을 기억하십시오 optionals에 대한 패키지의 종류 1190 01:03:31,340 --> 01:03:34,700 우리는 랩을 해제해야 패키지는 데이터를 꺼냈다. 1191 01:03:34,700 --> 01:03:37,570 느낌표 실제로 일어날 힘. 1192 01:03:37,570 --> 01:03:39,590 >> 그러나 나는이 것을 알고 안전한 내가 알기 때문에 1193 01:03:39,590 --> 01:03:42,070 화상 데이터가 동일한 있는지 전무로, 사실은 확인했다 1194 01:03:42,070 --> 01:03:45,420 그 선택하면 볼 수 있습니다 했다, 사실, 실패했습니다. 1195 01:03:45,420 --> 01:03:47,110 즉이 있다면, 사실, 이미 실패했습니다. 1196 01:03:47,110 --> 01:03:52,450 그래서 나는이에 일단 확신 점 I 안전하게 데이터를 풀다 수 있습니다. 1197 01:03:52,450 --> 01:03:55,710 당신은 또한에서 볼 수 있습니다 물음표의 형태로. 1198 01:03:55,710 --> 01:03:59,100 우리는 어디에서 아래로 스크롤이 경우 I 실제로 데이터를 구문 분석 할 필요가있다. 1199 01:03:59,100 --> 01:04:01,850 >> 그래서 의해 연기하지 말라 긴 이름의이 종류. 1200 01:04:01,850 --> 01:04:06,580 당신은 애플에서 찾을 수 있습니다 개발자 사이트를 많이 1201 01:04:06,580 --> 01:04:09,620 모두에 대한 참조 개체 및 모든 프로세스 1202 01:04:09,620 --> 01:04:11,170 실제로이 가능하게있다. 1203 01:04:11,170 --> 01:04:15,990 그러나 이것은 본질적으로 통지 내가 몇 가지 데이터를 전달하는 기능. 1204 01:04:15,990 --> 01:04:18,410 그리고 데이터의 일종을 다시 얻을. 1205 01:04:18,410 --> 01:04:24,190 그리고 난에 키워드로 사용할 필요가 이있는 NSDictionary로 변환? 1206 01:04:24,190 --> 01:04:26,490 이는 다시 인 옵션있는 NSDictionary. 1207 01:04:26,490 --> 01:04:31,070 그럼 내가해야하는 이 존재하는지 확인합니다. 1208 01:04:31,070 --> 01:04:37,130 >> 허락한다면 그래서 나는 것을 사용할 수 있습니다 성공적인 등호, 구문 분석 1209 01:04:37,130 --> 01:04:40,620 그때 나는 그 선택 알고 실제로 일부 데이터가 포함되어 있습니다. 1210 01:04:40,620 --> 01:04:43,840 아니면 내가 여기 한 것은에 있었다 그냥 경우가 가정 1211 01:04:43,840 --> 01:04:49,067 사실 그것은 안전 오류는 없었다. 1212 01:04:49,067 --> 01:04:51,400 좋아, 나는 감사드립니다 당신이 모든 걸 진심으로. 1213 01:04:51,400 --> 01:04:53,540 나는이 많이 있었는지, 그러나 단지 시간이었다 1214 01:04:53,540 --> 01:04:55,920 몇 가지에 대해 이야기 꽤 고급 물건. 1215 01:04:55,920 --> 01:04:59,640 그리고 잘하면를 얻을 수 있습니다 기회는 모든 코드를 다운로드 1216 01:04:59,640 --> 01:05:01,657 더 나은, 더 걸릴 그것에 철저한 모습. 1217 01:05:01,657 --> 01:05:04,240 모든 정렬의 자신을 설득 물건의 무슨 일이. 1218 01:05:04,240 --> 01:05:06,800 그리고 난 당신에게 감사하고 싶어요 모든, 다시 와줘서. 1219 01:05:06,800 --> 01:05:08,760 최종 프로젝트를 그리고 행운을 빕니다. 1220 01:05:08,760 --> 01:05:10,600 좋은 하루 되세요. 1221 01:05:10,600 --> 01:05:11,467