다니엘 ARMENDARIZ : 안녕하세요, 여러분, iOS 앱 개발에 오신 것을 환영합니다 신속한와. 댄 Armendariz 해요. 나는 컴퓨터의 precepter 해요 학교에서 여기에 과학 엔지니어링 및 응용 과학. 그리고 빠른 종류 실제로 정말 깔끔한 언어의. 그리고 오늘은 어떤 계획을 가지고있다. 다음 시간 이상 또는 무슨 짓을 그래서 iOS 앱 개발 자체를 찾으려면 엑스 코드를 사용하여 실제로 일부를 생성 아주 기본적인, 아주 간단한 응용 프로그램. 그리고 그 길을보고 당신을 실제로 해당 응용 프로그램을, 실제로을 구축하고, iOS 기기에 넣어. 어떤 것들은 그 우리는보고하지 않을거야 같은 것들을 포함한다 실제로 응용 복용 그리고 앱 스토어에 퍼팅. 튜토리얼의 많은 온라인이있다 그것의 측면에 도움이 될 것입니다. 그러나 또한 있기 때문에 CS50의 일부, 당신은 얻을 애플 개발에 참여하는 팀, CS50의 응용 프로그램 개발 팀. 아직 그렇게하지 ​​않은 경우와 당신은 CS50와 제휴, 난 당신이하는 것이 좋습니다 않습니다 그 때문에 그렇게 당신이 만들 수있다 방법이다 엑스 코드의 일부 프로그램, 를 구축하고, 실제로 넣어 당신의 iOS 장치의 일부에 그 실제로이있는 경우 실제 iOS 기기. 당신은 물리적 아이폰 OS가 없다면 좋은 것보다 더 중요한 장치입니다. 당신은 실제로 iOS 용 개발할 수 있습니다. 그리고 엑스 코드가있다 당신을 허용 시뮬레이터 에서 응용 프로그램을 볼 수 컴퓨터 작업입니다. 그러나 그것은 종류의 깔끔한 일 실제로 연주하고 상호 작용할 수 있습니다 신청서와 함께 실제 장치에. 그래서 요구 사항의 몇 가지에가있다 실제로 개발의 모든 작업을 수행 할 수 있습니다. 그 중 하나는 것입니다 Mac이 있어야합니다. 그것은 나중에 10.9.4 이상을 실행해야합니다 신속한와 개발을하기 위해. 당신은 이전 버전을 사용할 수 있습니다 버전 개발 아이폰 OS와 Mac에 대한 목표 C와. 하지만 추천하고, 많은 오늘날 우리가 볼 수 예, 10.10 요세미티를 사용합니다. 아직 업그레이드하지 않은 경우에 따라서, 그렇게 할 수있는 좋은 변명. 이제 엑스 코드 6.1의 최신 버전입니다 통합 개발 환경 애플은 무료로 제공 당신은 앱 스토어를 다운로드 할 수 있습니다. 그리고 당신이하는 것이 좋습니다 또한 최신 버전을 실행합니다. 당신은 이전의 작동하고자하는 경우 버전, 엑스 코드 5 단지 아래 단순히 무엇이든지 신속 지원하지 않습니다. 여섯 그리고 베타 버전, 어떤 여름 동안 출시 된, 신속한 지원한다,하지만 거기에 엄청난 수 있었다 언어의 변화, 충분히 그래서 당신이있어 코드 로하고 있음을 볼 것 인터넷에서 찾을 수 있습니다 실제로 제대로 컴파일되지 않습니다 엑스 코드의 이러한 이전 버전에서. 그래서 다시, 당신이 경우 아직 개발자 계정을 가지고, 난 당신이로 이동하는 것이 좋습니다 developer.apple.com. 가입하신 개발자 계정을 생성, 과 CS50 앱 개발 팀에 합류. 그 기회를 당신에게 제공 할 것입니다 응용 프로그램을 컴파일 및 장치에 넣어. OK, 그래서 시작합시다. 제일 처음 우리는 어떻게되는거야 실제로 매우를 만들려면 엑스 코드의 간단한 프로젝트 그것은 당신에게 수 응용 프로그램을 확인합니다. 아직 엑스 코드가없는 경우에 따라서 개방 가서 엽니 다 새로운 프로젝트를 만듭니다. 특별한 시작 화면 열리고 줄 것이다 무엇에 대한 몇 가지 옵션 그것은 당신이 원하는 것입니다. 생성하기를 원한다고 새 프로젝트, 새로운 응용 프로그램입니다. 이 창은 나타납니다 당신은 엑스 코드 6.1를 사용하는 가정. 지금과에 대한 이 세미나 기간, 우리가 사용하게 될거야 하나의 응용 프로그램보기, 단지 기본 응용 프로그램의 종류 발을 젖지합니다. 그리고 당신은 밖으로 분기 할 수 거기에서 자신에. 이 시점에서 다음을 클릭합니다. 이제 여기에 몇 가지가있다 당신은 입력 할 수 있음. 제품명은 프로젝트의 이름입니다. 이 경우, 그냥 해요 호출하려고 Seminar1 우리의 첫 번째 예제이기 때문에. 조직 이름에서 이 경우 그냥 내 이름입니다. 당신은 물론 변경할 수 있습니다 자신의 이름, 또는 CS50에. 조직 식별자, 당신 경우 단지 걸릴 웹 사이트가하는 일 도메인 이름 , com.yourname 역. 생성물의 후 이름 자동으로 나타납니다 번들 식별자로 그 이후. 우리가있어 분명히 언어 오늘 사용하는 것으로가는 빠른입니다. 사용자는 물론, 목표 C를 사용하여 그것을 위해,하지만 오늘은 빠른 것입니다. 그리고 우리는 지금 말할 것이다 보편적 인 장치, 그래서 그것이 아이 패드와 아이폰 모두에서 작동합니다. 그리고 우리는 코어를 떠나 유지되지 않은 데이터 프로젝트 상대적으로 당분간은 간단합니다. 그럼 가서 다음을 클릭 할 수 있습니다. 그리고 그것은 나 한테 물어 것 어디를 저장할. 나는 지금 내 바탕 화면에 저장합니다. 좋아, 그래서 지금이 무슨 뜻 때 실제로 열린 엑스 코드를 발생. 그리고 알 당신이보고 제일 처음 이 느낌표입니다 찾을 수 없습니다 서명 ID는 말한다. 나는 의도적으로 이런 짓을 난 내 컴퓨터에 내가 갈거야 것으로 기대 실제로 문제를 해결할 수 내가 원하기 때문에 당신은 어떻게이를 볼 수 있습니다 실제로 자신의 컴퓨터에서 작동합니다. 가서 수정 문제를 클릭합니다. 당신이있는 경우에 그것은 당신을 요청합니다 애플 개발자 계정을 기존의. 합류하는 곳이다 CS50 응용 프로그램 개발 팀 중요 있도록하지 전용 앱 계정을 가지고, 하지만 당신은 또한이 기능은 응용 프로그램에 서명 및 iOS 기기에 넣어. 이것은 아직 ... 클릭입니다 수정 문제는 필요하지 않습니다 당신은 단지 위하여려고하는 경우에 구축하고 로컬 개발, 완전히 아이폰 OS 시뮬레이터 내에서. 하지만 지금은 내가 갈거야 개발을 넣어 내 아이 패드에있을 것이다 뿐만 아니라 방송 할 수. 그래서 실제로이를 추가 할 않습니다. 그리고 그것은 물어 것 내 애플 ID로 저. 그래서이 될 것입니다. 그리고 나는 나의를 가져가 여기입니다 암호. 그래서를 찾기 위해 나에게 한 두 번째 줄, 것을 복사하고, 여기 위에 붙여 넣습니다. 추가를 클릭합니다. 그것은 나 한테 물어 것 어느 팀이 내가 가입하려는. 나는 공학부을 할거야. 참가를 클릭합니다. 으악, 그 잘못 하나입니다. 자,이 하나를 보자. 희망 하나가 작동합니다. 그 하나는 여전히 작동하지 않습니다. 우리는 여기서 좋은 사람이 없어. OK,이 작업을해야합니다. 이제을 닫습니다. 이제 학교를하자 엔지니어링, 선택을 클릭합니다. 이제 희망 후 확인을하고 있는데 ... 초 커플, 나는 취소 요청합니다. 오 이런,이 작동하지 않을 것입니다. 좋아, 내가 다른 하나를 시도 할 것이다. 여기서이 하나를 보자. 라이브 데모 나를 실패. 우리는 단지에 복귀 할 수 있습니다 로컬 완전히 구축, 하지만이 경우에는 확인이 될 것이다. 그래서 여기,이 실제로있는 동안 작업은, 우리가 무엇을 할 거 야 그냥이다 매우 간단하게 만들 안녕하세요 세계 응용 프로그램입니다. 그래서이 엑스 코드입니다. 그리고 당신은, 아직 본적하지 않은 경우 처음에는 조금 협박을 할 수 있습니다. 창 많이있다, 거기에 다양한 분야의 장식물을 많이. 그러나 단지가 있다는 것을 깨닫게 정말 몇 가지 주요 구성 요소 이러한 개발 환경에 관한 것이다. 맨 왼쪽에있는 모든 파일입니다 프로그램에 적용 할 수있는 그 또는 특정 프로젝트에. 우리는 약 클릭 할 수 있습니다 그들 중 일부와 우리는거야 가장 지적 시간이 지남에 중요한 것. 오른쪽에, 우리 속성 세트를 갖는다. 그리고이 모든 속성이 속성에 대한 여러 창입니다. 창은에 따라 변경됩니다 메인 컨텐츠의 컨텍스트 어느 중간에 발생합니다. 이제 중간 실제로 표시 할 수 있습니다 예를 들어, 일의 당신 다양한 코드 자체. 또는 당신은 실제로 때 드 니스, 니가 있습니다 당신은 스토리 보드를 클릭한다 , 그런데, 단지 그래픽입니다 사용자의 표현 당신의 어플리케이션 작성을위한 인터페이스 다음 속성 창 아주 멀리 오른쪽에 실제로 변경됩니다. 이제 다른 몇 가지가있다 내가 지적하고 싶은 것. 당신은 종류의 주위에 둘러 볼 수 있습니다 자신의 환경에서. 그러나 것들 중 하나 그것은 매우 유용했다 이 버튼은 여기 창의 오른쪽 상단. 이 버튼이있다 그 멀리에 보이는 왼쪽은 단락을 가지고 두 개의 원과 종류 다음 두 개의 화살표 가리키는 서로 떨어져. 당신은 사이를 전환하는 경우 표준 편집기, 어떤 가장 왼쪽에 하나, 하나는 즉, 기본적으로 선택되어 두 원이 겹치는 당신이 실제로 무엇을 얻을, 서로 이중 창보기입니다. 그리고 이것은 실제로 우리에게 유용 할 것 우리는 항목을 연결해야하는 경우 코드로 UI에서. 그리고 우리에 대한 자세한 내용을 얘기하자 단지 순간에 그. 그러나 당신이 얻을 경우 실현 이 같은 더 많은 창, 당신은 당신의보기를 단순화 할 수 있습니다 다시 클릭하여 조금 당신의 단일 편집기에. 지금까지 너무 좋아. 그래서 기본적으로 우리는 코드에가 왼쪽, 오른쪽에 속성 그리고 우리가 최선을 다하고 뭐든 여기에 중심에에. 그래서 나는 여기를 클릭했습니다 메인 스토리 보드에. 그리고 스토리 보드, 다시, 엑스 코드의 방법입니다 당신은 실제로 사용자를 만들 수 있습니다 드래그 앤 드롭 인터페이스를 사용하여 기술. 그리고 바로 우리에 대한 첫 번째 응용 프로그램이 우리가 무엇을 할 것인지 정확하게이다. 우리는 아래로 갈거야 아주 멀리 오른쪽 하단 포함하는 화면의 사용자 다양한 요소 당신은 클릭 및 드래그 할 수 사용자 인터페이스를 만들 수 있습니다. 이제이 모든 요소는 전망이라고합니다 그들은보기 어떤 종류의를 제공하기 때문이다. 이미지보기 위해,있다 예를 들어, 실제로 보여 사용자 인터페이스에 화상. 테이블 뷰가있다 실제로 테이블을 보여줍니다. 등등 등등. 다양한 종류가있다 당신이 선택할 수 있습니다 전망. 그래서 지금 우리가 가고있는 대한 레이블을 검색합니다. 당신은 스크롤 할 수 있습니다 거기에 모든 목록. 그러나 검색있다 맨 아래에 바 그보다 쉽게​​ 식별 할 수 있습니다 특정 뷰 당신 실제로 사용자 인터페이스로 끌어 놓습니다. 내 레이블을 발견. 내가 직접, 여기에 드래그거야 내 샘플 응용 프로그램 상. 바로 거기 중간 좋아 보인다에서. 그리고 입력 할거야 "여러분, 안녕하세요!" Enter 키를 누르십시오. 지금은 레이블이. 이처럼은 보이지 않는다 아주 제대로 중심. 그래서 나는 그것을 다시 중심을 시도 할 수 있습니다. 다행히 이러한 제공 상황이 훨씬 더 쉽게 안내합니다. 나는 그것을 컴파일하려고거야. 바라 건데 실제로 여기에 작동합니다. 그리고 그것은 단지 순간에,없는 경우 그것은 사실 내 아이 패드에 나타납니다. 바로 여기입니다. 이 그것입니다. 좋아, 그럼 바로 그거야. 우린 끝났어. 우리는 우리의 매우 만든 첫 번째 응용 프로그램. 이제 분명이 아무것도하지 않습니다. 그냥 레이블입니다. 사이에 연결이 없습니다 사용자 인터페이스 및 코드. 우리가 실제로 원하는 경우에 따라서 이 연결을 만들려면 우리는 실제로 어떤 종류를 원한다면 요소 간의 통신 에 존재하는 화면과 코드가 우리가 제어 할 수 있습니다 다음 이러한 요소, 우리가 실제로 필요 코드 자체를 봐주세요. 그래서이라고 무엇인가 ViewController.swift. 특히 용, 용 첫 번째 몇 가지 프로그램, 이것은 일종의 될 것입니다 당신이 enter-- 코드의 대량 여기에이 문서에 될 것입니다. 일이 너무 많아 즉, 여기에 지금까지, 맞아? 수입 UI 키트 클래스가있다, 오버라이드 (override) [? 펑크,?]이 모든 여러 가지. 그리고 그것은 매우 분명하지 않다 무엇 그것은이 모든 의미입니다. 그럼 다시 거리에 조치를 취할 수 있도록 엑스 코드에서 약간에 대한 그리고 언어 자체, 빠른 봐. 신속한와 그래서, 그것은에 있었다 설계 및 개발 약 4에 대한 애플의 나의 이해 년. 그리고 기능의 몇 가지있다 그것에 대해 정말 깔끔 그. 우선,이 컴파일되어 언어, 그냥 다 좋아 그래서 처음에이 컴파일하고 실행 당신이 실제로 할 수있는 전 결과 코드를 실행합니다. 그러나 C와 달리, 상호 작용,이 실제로 실행할 수있는 프롬프트 과에 임의의 명령을 입력합니다. 그리고 매우 자바 스크립트 콘솔처럼, 이제 익숙 할 수있는, 실제로 사람들을 평가합니다 명령 및 출력을 제공한다. 그리고 그들은 심지어 촬영했습니다 그 다음 단계로 그들은 뭔가를 만들었습니다 엑스 코드에서 호출 놀이터 다음을 수행 할 수 있도록 그 시각적 코드와 함께 작동합니다. 그리고 우리는 실제로 몇 가지 예를 볼 수 있습니다 조금의 그. 그것은 C. C의 기초 기반으로 그것은, 모든 컴파일러 때문에 C에서 코드를 생성하고 그것에서 오브젝트 코드를 생성합니다. 그러나 실제로 주 상대적으로 작은 구문. 그것은 상당히 다르게 나타납니다. 일부 유사성이있을 수 있습니다. 그러나이있을거야 아주 약간의 차이 말하자면, 자바 스크립트 나 PHP에 비해. 그리고 우리는 이러한하겠다 잠시 아웃. 가장 큰 것의 이제 하나 대한 신속한 멋지네요 특히 비교한다는 것입니다 C로, 이는 안전을 의미하는 것. 그 안에 모든 것이에 의미 매우 강력하게 입력 할. 사실 그것은 거의 짜증나 처음에, 때 처음 얼마나 신속한 작업 시작 많이 사방 유형을 적용합니다. 문자열의 건 문자열 남아있다. 그것은 변환의 정렬하는 것은 매우 어렵다 그것은 다른 형태로 강요 나. 그리고 다시, 우리는이의 예를 보여 드리겠습니다. 그러나 궁극적으로 실현 이는 당신을 보호하기위한 것입니다 그리고 당신에 의해 전에서 코드를 의미 어떤 끔찍한 방법으로했을 때의 충돌 당신은 일치하지 않는 유형의 어떤 종류가있다. 그리고 또, 그와 함께 작동합니다. 처음에는 복잡 할 것이기 때문에 당신은 이유를 정확하게 파악하려고으로 이 특이한 있어요 유형을 처리 오류가 발생했습니다. 그러나 결국 그것을 가치가있을 것입니다. 그것은 자동 처리 않습니다 메모리 관리, 그래서 더 이상 수행하지 일을 처리해야 malloc에​​ 무료 및 모두 같은 사물의 이러한 종류의. 그리고 그것은 또한 보편성을 위해 설계되었습니다. 우리는 엑스 코드로를 사용할 수 있고, 그래서 아이폰 OS 응용 프로그램 및 Mac 응용 프로그램을 만들 수 우리는 단지 그것을 사용할 수 있습니다 스크립트 언어로. 그래서 우리는 종류를 사용할 수 있습니다 의 대신 PHP 또는 대신 파이썬의 사실에 빠르게 분석 및 프로세스 우리는 우리의 컴퓨터에있는 일부 데이터. 그것은 현대의 다양한있다 기능, optionals, 가변성, 제네릭, 클로저,이 많은 사용자가 모를 수도 물건. 그리고 그냥 그렇게 불행한 일 언어의 일부 이들 중 일부 미래, 현대적인 요소의 종류 그 요소가 포함되어 있습니다 너무 깊이 배어 든 나는 실제로 것 당신이 조금 CS50.5 가르 칠해야합니다. 우리는 조금 더를 배울 수있다 순서의 일부 기능에 대한 정말 무슨 일이 일어나고 있는지 이해하기 그래서 당신이 코드를 볼 수 있음에 완전히 잃어버린 생각하지. 그리고 당신은 내가 무슨 뜻인지 확인할 수 다만 분에 해당하여. 이것의 확인, 그래서 let's-- 충분히 이론적 물건의 종류. 의 실제를 살펴 보자 우리 첫 번째 빠른 프로그램입니다. 이 한 줄의 코드입니다. 14 행 바로 여기, 그것을 인쇄 L n 개의 헬로 CS50는 말한다. 그래서 몇 가지가있다 이 비교에 대해 매우 다른 당신이 할 수있는 것들 예를 들어, C에서 사용. 그 중 하나가 '아니오'가 있다는 없습니다 intmain, 어떤 섹션을 포함 없다, 이 여분의 물건 하나도 없다. 표준처럼 포함 I / O, 도서관 등 실제로을 제공하는 언어의 표준 기능, 자동으로 포함되어 SWIFT의 표준 라이브러리의 일부 그 자동으로 가져옵니다. 당신은 할 필요가 없습니다 수동으로 가져 오기. Intmain가 있기 때문에 존재하지 않는 코드의 주 진입 점 에서 실제로 코드의 시작. 그래서 당신이 코드 처음부터 시작 실제로 시작에서 실행된다. 그래서이 정말 크게 단순화합니다. 세미콜론이 없다는 것을 또한 알 수 있습니다. 이 언어에는 세미콜론가 없습니다. 당신은 문을 넣어 각각의 라인에 이어서 다음 행 다른 문을 나타냅니다. 당신은 넣어하려는 경우 온라인 mulitiple 문, 당신은 세미콜론으로 분리 해있다. 그러나 대부분의 경우, 좋은 스타일, 우리는있어 세미콜론을 볼 것 없다 분리 제표의 목적 빠른에. 그래서 실제로 어떻게 작동 하는가? 음 매우 C의 우리처럼 실제로 컴파일해야합니다. 그래서 우리는 사용하여 해당 작업을 수행 할 수 있습니다 빠른 C 다음 1.swift. 그리고 몇 후 이 컴파일 시간 (분) 다음 나는 항목을 실행할 수 있습니다. 그리고 그것보다 그냥 "안녕하세요 CS50."라고합니다 굉장하기 때문에 거기에 우리가 간다. 우리의 첫 번째 안녕하세요 세계 프로그램이있다. 이제 두 번째로 이동하자. 이제 항아리에이 변경되었습니다 약간 반면, 일반적으로 당신 때문에 사실하더라도 - 항상 당신이해야합니까 당신 전에 빠른 응용 프로그램을 컴파일 실제로 하구 또 하나를 실행 훌륭한 기능의 내가 언급 한 것과 전에이었다 실제로 스위프트 정렬에 사용될 수있다 의사 해석 모드 거기 통역 등의 사실이다. 그러나이 수행 할 것은이 실제로, 신속한 애플리케이션이다 당신은 실행할 수 있습니다. 그래서 예를 들어 당신은 그냥 입력하면 여기에 빠른, 어떤 일이 일어날 것 당신이 프롬프트를 얻을 것입니다. 그리고 당신은 당신의 신속한를 입력 할 수 있습니다 코드, 안녕하세요 인쇄하고 실행합니다. 그리고 실제로 글씨합니다 물론,이 경우 인쇄되지 그것을 중심으로하는 인쇄 때문에 밖으로, 이는 여기에 표시되지 않습니다. 그러나 실제로 작동 할 수있다. 그리고이 경우에, 난 그냥 해요 스크립트로 사용할 것. 그리고 나는 거기에 실제로이 코드를 실행할 수 있습니다. 그래서 실제로 실행 방법 그것은 약간 다를 수 있습니다 하지만 당신은 단지 순간에 그것을 볼 수 있습니다. 자,이 경우에 우리는 무엇을거야 먼저 할 변수를 정의하는 것이다. 그래서 이것은 우리가 정의하는 방법이다 빠른에서 변수, 우리가하자 키워드를 사용하고, 다음 변수의 이름으로, 다음 우리는 몇 가지를 제공합니다 임의로 데이터를 초기화. 그래서이 경우 우리는 정의하고 이름이라고도 상수 우리는에서 그것을 사용하는거야 우리의 인쇄 라인의 출력 맨 아래, 안녕하세요 이름에서. 자, 그보다는 사용 % s을 (를) 발견 우리는이 이름을 캡슐화 할 /에서 변수 ()와 수있을 이 내용에 연결할 이 문자열로 문자열입니다. 이제 C는 달리, 문자열입니다 빠른 실제 실제 유형입니다. 그리고 그것은 옆에 앉아 정수와 함께 아주 쉽게 두 배로 자연스럽게 비교 다른 일부에 우리가 본 언어. 그래서이 실제로 작동 것 당신이 기대처럼. 나는 2.swift를 실행할 수 있습니다. 그리고 우리는 내 이름은 것을 볼 수 실제로 "안녕하세요 댄."에 접합 OK, 끝내. 세 번째로 이동. 지금은 조금이었다 흰색 거짓말의 I 말했다 우리가 선언 방법 변수는하자 키워드를 사용하는 것이 었습니다. 당신이 가능하게 당신이 할 수있는만큼 즉 무엇 때문에, 할 수 사용하려면 이 상수를 정의한다. 그리고 그것이 할 수있는 신속 알려줍니다 응용 프로그램의 속도를 최적화 그것은 그 것을 알고 있기 때문에 변수는 변경하려고하지 않습니다. 그래서 신중하게 평가 당신이 사용하려고 할 때 에 대한 변수 그것의 목적을 변경. 그리고 때에가는거야 다만 변수를 생성 일부 데이터를 보유하고는합니다 실제로 변경하지 않을. 그래서 불변의 개념, 실제로, 변경 않을거야 중요한 심지어는 멀리 아래로 변수를 정의로. 그래서 여기에 우리가 이름을 정의한, 이름하자,이 경우 그것은, 그 유형의 상수있어 문자열, 그리고 댄 같다. 이전에 반면 그래서 버전, 그것은 infers--에 의해 "을" 나는 swift-- 신속 의미 데이터의 유형을 유추 우리는 변수로 입력했는지. 이 경우, 우리는 명시 할 수있다. 그래서이의 그 이름을 보자 변수는 콜론 이름입니다. 그리고 콜론 다음 우리를 할 데이터의 유형을 지정합니다. 그래서 더 이상은 INT 이름 또는 캐릭터 이름 또는 그런 일. 하지만 그 대신 우리가있어, 라벨을 보자 여부를 정의 그것은, 상수 또는 변수입니다 이름 다음에, 타입 임의로 하였다. 이 경우 우리가 정의하고 그래서 이 이름은 문자열입니다. 우리는 말을하는지 댄이다. 그리고 지금은 또 다른 변수가, 이 경우에는 라벨라고. 하지만 것을 알 var 키워드로 시작. var 키워드 수단 이 변수가 수 에 나중에 변경할 수 어딘가에 아래 코드의 시간, 우리는 실제로 그것을 변경할 수 있습니다 우리에게 특정 오류를 제공하지 않습니다. 우리는 표준 접합하는 작업을 수행 할 수 있습니다 운전자는 이곳 더하기 기호를 사용하여 실제로 추가하는 우리의 이 문자열에 이름을 지정합니다. 그리고 우리는 인쇄 할 수 있습니다 우리는 조금 전에 본 것처럼. 이제 당신 가정 해 봅시다 변수를 만들려면 하지만 당신은 아직 초기화하지 않습니다. 아직 싶지 않아 그 안에 데이터를 넣어. 그럼 당신은 말할 필요 데이터의 신속한 어떤 유형 당신이 할 수있는 전에 될 것입니다 실제로 제대로 정의합니다. 그래서이 경우, 우리가 정의한 경우 우리가 가지고있는 변수라는 등급이어야합니다 때문에 그 유형에 대한 명시 적 그냥보고 추론 할 수 없습니다 초기화 된 데이터에서 당신은 그것에 제공하는. 그것은 우리에게 당신이 경우 오류를 줄 것이다 단지 형 VAR 등급, 예를 들어, 따라서 어떤 유형이 없기 때문. 그래서 학년 = 100. 100은 정수가되도록, 그것을 그에 아주 잘 맞는다. 그것은 계속 작동합니다. 우리가 볼 수있는 방법을 우리 이를 연결할 수 있습니다. 지금 당신은 수 있습니다 유혹, 실제로 경우 를 연결하는 원 다른 텍스트 문자열로 등급 다른 문자열로, 즉, 당신은 단지 것 같은 접합하는 연산자를 사용합니다. 그리고 일반적으로 사실이 될 것이다. 그러나 스위프트에 당신을 허용하지 않습니다 암시 적 데이터의 유형을 변경합니다. 이 경우이 그래서 라인, 25, 실패합니다 등급이기 때문에 정수가 아닌 문자열입니다. 그리고 유형의 설정이 일치있다. 그래서 당신은 할 때 명시해야 이 데이터를 변경하려면, 이 강요 할 때 다른 타입으로 데이터 확인을, 내가 먹고 싶어 말 정수 해당 학년, 및 문자열로 변환합니다. 그래서 자본의 문자열을 모두 가지고 유형, 당신은 계상되며, 알 수 있습니다 INT, 두 번, 문자열, 등등 등등. 그들 모두는 대문자입니다 단지 일을 더 쉽게 확인합니다. 그리고 우리는 대문자로 말할 것 문자열은 등급에 전달합니다. 그리고 그것은을 만듭니다 그 정수 중 문자열입니다. 그리고 우리는 연결할 수 있습니다 두 개의 아주 멋지게. 지금까지이 물건에 대한 질문? 좋아,이 쟁기하자 를 통해 네 개의 번호를합니다. 이제 좀 더 고급 대해 얘기하자 배열과 루프 같은 구조. 그리고 빠른에서 C는 달리, 배열 포인터로 표시되지 않습니다. 빠른에 포인터, 들이 존재하지만, 호출 안전하지 않은 포인터와 같은 또는 이 같은 몇 가지 유사한 유형, 그들은 일반적으로 당신에게 노출되지 않는 것입니다. 그래서 매우 어려워진다 당신은 조작하기 위해 직접 컴퓨터의 메모리. 그래서 배열은 데이터 유형이다. 그리고 그들은 이런 종류를 사용하여 참조하고 지금 표준 대괄호 표기법 당신은 전에 본 적이있다. 그러나 당신은 실제로 원하는 경우 변수의 타입을 정의 일부의 배열로 다음 특정 유형, 당신 대괄호 유형을했습니다. 그래서 내가 여기서 말하고있는 것입니다 나는라는 변수를 만드는거야 int 형 배열의 성적. 그리고 일부 그와 동일한을하고 있어요 초기화 데이터,이 경우에는 어느 다만, 이는 85, 90, 0, 100 여기에 임의 등급의 모음입니다. 지금 내가 할 수있는이 경우, 기억 유형을 제거, 그리고 그것을 유추 할 수있을 것이다 초기화 데이터에 기초하여. 하지만 제거한 경우이와 나는, 나중에 설정하는 데 필요한 그때 확인해야 내가 거기 유형이있다. 좋아,이를 따라 이동하자. 그래서 우리는 배열을하고 있는데 ... 다양한 우리에게 제공 그 점 표기법을 통해 방법 당신 지금 아마 잘 알고 있습니다. grades.count 그래서, 예를 들면, 우리에게 정확하게 수를 알려줍니다 아르 요소 이 배열에 포함. 나는 additional-- 추가하려면 지금이 VAR는 것을 알 수 이 안그래 변수 및 일정하지 어느 나는이 내용을 변경할 수 있다는 것을 의미합니다 이 배열, 나는 그것에 개체를 추가 할 수 있습니다. 하지만 난 그냥 성적을 말할 수 없다 다음 대괄호 네, 즉되기 때문에 이 경우 경계 오류 중. 실제로 변경하려면 이 배열의 크기, 나는에 도트 APPEND 방법을 사용해야합니다 그것의 맨 마지막에 뭔가를 추가합니다. 내가 할 수있는, 그러나 변화 개별 지표. 그래서 성적을 사용할 수 있습니다 다음 대괄호 제로이 첫 번째 인덱스를 조작하고, 그래서, 당신은 일반적으로 기대하는 것처럼. 그리고 사실은 동일한 작업을 수행 할 수 있습니다 그뿐만 아니라에서 데이터를받을 수 있습니다. 지금 또한 종류의 멋진 방법있다 이 성적 플러스 같음을하고 다음 다른 인덱스 어떤 append--합니다 또는 다른 index--하지 하지만 다른 목록하는 그 목록을 추가합니다 등급의 뒷면. 그리고 성적 것이다 모든 것을 포함하고 있습니다. 하지만 그 여분의 물건의 일종 것을 그냥 재미를 위해 당신을 보여주는거야. 이제 루프가있다. 그리고 이것은 시작이다 상황이 조금 변경 시작합니다. 루프이 얼마나 주목 C.에서 루프에서 다른 지금 나는 점에 유의한다 스위프트의 루프 수 , C에서 루프처럼 보이도록 만들 수 있지만, 더 유용한 구조가 많이있다 즉, 본질적 않아도 VAR에 대해 갖고 내가 0 세미콜론 같다 내가 일부 길이 미만인 등등 등등, 오른쪽? 그리고이 구조는 단지 그들 중 하나입니다. 인덱스의 인덱스는 새로운 변수 범위이 경우에. 그리고 내가 말하고있을 것입니다 0에서 모든 방법까지 범위 하지만 grades.count을 포함하지 않음. 그래서이 점은 적은 점 기호가 나타내는 것보다 0에서 출발 값의 범위 grades.count까지 1을 뺀 모든 방법. 별도의가있다 존재 연산자 어느있는 것, 점 점 점입니다 나는 제로의 범위를하려는 것을 의미 등급에 포함 계산합니다. 그러나이 경우,이 때문에 어레이 우리는 물론, 인덱스 0 아르 에 가고 싶지 않아 등급의 최대 수입니다. 당신이 수도로 나는 성적을 합산 할 수 있습니다 기대,이 물건의 출력 모두. OK,에 이동. 이제 함수에 대해 이야기 해 봅시다. 함수를 정의하기 위해 당신은 펑크 키워드를 사용합니다. 그리고 또, 스위프트에 그럴 필요 유형에 매우주의해야합니다. 이 매개 변수에 당신은 제공 정의에 의해, 예를 들면, 파라미터의 이름과 데이터의 다음 콜린에, 유형 당신은 것으로 기대 매개 변수를 적용합니다. 그래서이 경우 우리는이 인쇄 등급 수 호출 된 함수. 그것은, 성적표라는 변수를 받아 또는 오히려 매개 변수는 성적표를했다. 그리고 우리는 그 성적표를 기대하고있다 정수의 배열이어야합니다. 그 성적표가 비어있는 경우, 우리는 한 가지를 인쇄 해드립니다. 그렇지 않으면 우리는 번호를 인쇄합니다 이 사실이 등급의. 이제 우리는 반환 할 경우 일부 값 다음 방법 우리는이 정의는 수정하는 것이 실제로이 화살표 키워드를 사용하려면, 또는이 화살표 기표를 사용합니다. 그래서 여기에 우리가 정의하는거야 함수는 평균했다. 우리는 번호 목록을 받아 들일 것입니다. 그리고 우리를 반환하는거야 두 번하는 희망 것 이 배열의 평균 수. 그리고 순서 위해, 그렇게하기 실제로 평균을 계산하도록 우리는 합계를 취할 것입니다 그리고 우리는의 것 이 과정은 모든 개체를 요약 이 배열 내에서. 새가 있음을 주목하라 루프 여기의 스타일. 우리는 약 명시 될 필요가 없습니다 모든 단일 요소의 반복, 그러나 우리는 대신 말할 수 있습니다 학년 성적표, 의미 하나 하나에 대한 그 우리는이에있는 항목, 이에 해당 항목을 제공 변수라는 등급. 그리고 나는 그것을 가지고 뭔가를하려고 할 것이다. 그래서 나는이 모든 데이터를 요약거야 실제로 두 부문을 반환합니다. 이제 다시 여기에있다 통지 스위프트의 정수 나누기의 개념. 당신은 분열을 두 배로하려면 당신이 소수가 원하기 때문에, 다음 명시해야 단지에 대한 한 쪽, 그것은 당신을 허용하지 않을 있기 때문에 이 양쪽의 데이터를 억압, 실제로 과정에있다 복식에 양쪽 그래서 당신이있어 매우 확인하고 대한 명시 적 것을 당신은 두 번 분열을하고있어. 그냥 넘어 가자. 실제로 accept-- 싶다면 그래서이 특정 예에서, 이것은 여전히​​ 명령입니다 라인 기반 응용 프로그램. 그리고 우리는 몇 가지를보기 시작하고 젊은 언어의 한계 점에서 비록 우리는 할 수 사용하여 인수들을 억세스 이 process.arguments, 그건 여전히 반드시 깨끗한 우리가 지금까지 본 것. 그러나 기본적으로 당신을 장려 종류의이 코드를 보면합니다 그리고 알아 내기 위해 노력 정확히 무슨 일이 일어나고있다. 본질적으로 무슨 무슨 일이 일어나고 있다는 것입니다 우리는 인수 목록을 취하고있어 그리고 그들을 강요했다 정수 한 다음 우리는있어 인쇄하는 방법으로 그것을 사용하려고 우리의 등급 모두의 평균 밖으로. 에 이동. 지금 data-- 다른 유형이있다 다른 데이터 배열보다는 입력 매우 아르라는 사전, 테이블 또는 해시 맵을 해시 유사 또한 유사하다 PHP의 연관 배열. 그래서 그들은 개념이 키와 값의. 그리고 그들은 또한으로 정의하고 이 대괄호 표기법, 그러나 차이점은 사전을 가지고 대괄호, 대장의 내부. 콜론은 데이터를 분리 그 키와 값이 입력합니다. 이 경우, 내가 만들거야 사전은 몇 가지 등급을 적용합니다. 그리고 그것은 될 것입니다 문자열 형식의 : INT, 어떤 의미의 모든 키는 문자열로 가고있다 이들의 모든 값 키는 정수가 될 것입니다. 이것이 의미하는 것은 내가 할 수있는 것입니다 다음 특정 데이터를 참조 차라리 그 키를 사용하여 원하는 나는 같은 숫자 인덱스를 사용하는 것보다 표준 배열 할 것이다. 지금 거기에, 보자 하나 중요한 것은 나는 또한에 대해 언급 할 것인지 이 코드의 특정 시퀀스. 그리고 거기에 있다는 것입니다 다른 유형의 데이터, 또는 오히려이있다 데이터의 아이디어 스위프트에 포함이 optionals을했다. 그리고 무엇 optionals 의미하는 것입니다 그 사실을 인정한다는 때때로 당신은 안 갈거야 당신이 실제로 기대하는 데이터를 얻을. 그하자 일은 ...에 의해 그리고 나는 무엇을 의미 이 코드 순서를 살펴 모든 이상되는 반복 이 코드에 전달 된 인수 와, 변환하려고 시도 문자열의 다양한으로 분할하고, 그것은 매우를 사용할 수 있기 때문이며, 인수의 특정 유형. 그리고, 그것은 강요하려고 할 것입니다 숫자를 나타내는 문자열 성적이다 정수로, 나는 다음 계산할 수있다. 그래서 기본적으로 내가 갈거야 이 스플릿 함수를 사용할 것을 내에 존재 스위프트 표준 라이브러리. 나는 그것으로 전달하는거야 내가 분할 할 문자열입니다. 그리고이를 사용하여 펑키 구문의 종류, 어떤 우리가 있을지 몰라 우리는에 도착,하지만 어쩌면 실제로 정확한을 지정합니다 우리가 분할 할 문자. 그래서이 실제로 생겼을까? 이제 살펴 보자 실제로이 코드를 실행할 수 있습니다. 예를 들어, 그래서, 내가 가진 가정 해 봅시다 퀴즈와 나는 그 50를 얻었다. 내가 PSETS을 가지고 나는 그의 백을 얻었다. 그리고 나는 또 다른있다 잡았어 퀴즈와 그의 (40)를 얻었다. 나는 Enter 키를 누르십시오, 결국 무엇을 일어날은 뭐하는거야 것입니다 이러한 매개 변수를 복용, 분할 이러한 콜론의 문자열, 가 있음을 인식 각각의 두 요소, 그것은 본질적 야 각각의 트랙을 유지. 그래서 난 내 사전에 그 퀴즈를 가지고 값은 숫자 50에 의해 표현된다 I는, 100의 값을 갖고있다 PSET 40의 값을 갖는 하나의 퀴즈. 그런 다음 나중에 코드 I에 실제로 이들의 모든 값을 평균화 과의 키를 모두 나열 특정 사전. 하지만이 중요하다 사용자가 알 수 있도록 무슨, 무슨 일이 일어나고은 것입니다 우리 원하는 것은이 문자열을하는 것입니다 그리고,이 문자에 그것을 분할 우리는이 분할 다시 할 수있는 이런 종류의를 사용하여 기능 여기있는 흥미로운 구문. 그냥 지금은 그 확인 있다고 가정합니다. 우리는이 더 볼 것 단지 잠시 동안의. 하지만 지금은 흥미있다 측면이 우리 실제로 이 변환하려고 시도하는 정수에 문자열입니다. 그러나 다른 언어 무슨 일이 있습니다 것은 우리는 아마 시도 할 것이라고 그것을과 하나 돌아 가야 감시의 일종 음과 같은 값 아니면 null 또는 그런 일. 아니면 그냥 오류가 발생합니다. 그리고 우리는해야 할 것입니다 그 오류를 잡을 다음 작업을 시도 어떤 사실에 기초 이 변환이 정수에 실패했습니다. 그 곳이 좋습니다 optionals로 제공됩니다. 당신은 실제로 데이터 유형을 만들 수 있습니다 INT 물음표는, 예를 들면. 즉,이 정수 것을 의미한다 사실, 선택적이다. 그리고 무슨 일이 일어날 것은 수 있다는 것이다 정수를 포함, 또는하지 않을 수 있습니다. 또한, 실제로이 다른 일 수있다 아이디어는 완전히 빈 채로했다. 하는 그가 있다는 것을 의미한다 무엇이이의 값 없습니다. 그것은 영 (0)이 아니다 단지 값은 없습니다. 표현 절대적으로 가치가있다. 그리고이 라인 (71)가하고있는 것입니다. 그것이 그 I를 말하는 것입니다 값을 설정하려고 시도하는, 동일 등급라는 변수, INT에이 캐릭터 라인의 변환. 그래서 나는이 문자열을 촬영했습니다, 첫 번째 구성 요소, 또는 오히려 두 번째 구성 요소,이 때문에 제로는 이로 색인 내가 분할 한 문자열입니다. 그리고 변환 할 정수로 그. 그러나 항상 진행되지 않을 수 있습니다 일반적으로, 때문에 상상 유형보다는, 무슨 일이 일어날 것 숫자, 나는 asdf을 같은 물론 입력합니다. 그것은 실패 할 것입니다. 실제로 수 없을거야 정수로 그 변환 할 수 내가 기대하는 것처럼. 그래서 오히려 킥오프보다 오류의 일종, 우리는 선택의 이런 생각을 가지고있다. 그리고 그 사용을 의미합니다 내가 말할 수있는이 물음표, OK, 내가 걸릴 수있다 이것은, INT로 변환 그리고 변수에 넣어, 이는 또한 INT 될 것입니다. 그렇다면, 그렇다면 그건 이 성공했는지 그리고이 제 1 부분 블록 계속할 수 있습니다. 그렇지 않으면 실패했습니다. grade--의 값이없는 또는 오히려 기존의 값이 없습니다, 나는 실제로 시도해야 이 오류 조건을 처리 할 수​​ 있습니다. 이를 보게 될 것입니다 물음표 모든 시간 스위프트와 스위프트 예를 들어 코드에서. 그리고 사실은 빈 채로 연산자, 이런 종류의 물음표, optionals 부분, 하나 아마 될 것입니다 더 어려운 것들 종류의 주위에 당신의 머리를 정리하기 당신은 실제로 작업 할 때. 지금은 의미가 있습니다. 그리고 사실, 나는 경우였다 이 샘플 코드를 작성, 확실히 나는 이해 무슨 일이, 무슨 일이 있었 하지만 여전히 나를 붙 잡았다 놀랍게도 모든 너무 자주 나는 그것을 발견 할 때 일부 데이터는 사실이었다 전무 버전, 옵션 버전 데이터의 내가 기대 한 것. 그러니 실현 당신 경우 선택 사양 버전 당신은 압축을 해제해야 이 상자에서 데이터. 그래서 난 ... 당신을 상상해 같은 종류의의 상자를 가지고 있고 그것은 뭔가가 포함되어 있습니다. 그리고 당신은해야 할 일 질문을하는 것입니다, 그것이 가능한 것입니다 실제로이 상자 내가 찾고 데이터를 포함? 그렇다면하면, 그 데이터를 밖으로 끌어와 기존이 변수에 넣어. 그렇지 않다면, 그냥하기가 이 상자의 내용을 무시 그것을 전부 때문에 문자 그대로 아무것도 들어 있지 않습니다. 이에 대한 질문? 좋아,이에서 벗어나 보자 명령 줄을 기반으로 물건의 종류 및보고 시작 기술의 일부 엑스 코드는 우리에게 제공 놀이터의 형태로. 그래서 많이있다 여기 스위프트와 기능을 제공합니다. 그리고 당신은 엑스 코드와 그것을 열 경우 당신이 무엇을하고 싶은지를 묻는 질문에 당신은 운동장을 열 수 있습니다 그냥 놀러 다른 구조의 많은 언어 및 양태 당신도 접촉 시작하기 전에 아이폰 OS SDK 또는 맥 SDK. 따라서이 경우는,이​​ 전 니스, 니가 있다고 가정 해 봅시다 나는 상대적으로 인위적인 예를 여기에,하지만 저와 같은 우리 종류의 곰 이 예를 통해 작동합니다. 의 우리가 많은 일을해야한다고 가정 해 봅시다 고정 된 값을 갖는 지수의 같은 우리는 우리가 필요 해요 알고 예를 들어, 사각형 힘을 많이 할. 그래서 우리는 몇 가지 값을거야 X, 우리가 그것을 광장거야, 우리는 몇 가지 값을거야 Y 우리는 그것을 제곱 것입니다. 등등 등등. 이제 우리는 실제로 단지를 만들 수 있습니다 이 2 기능의 전원, 오른쪽? 그래서 우리는이 기능의 전력을 만들 것입니다. 우리는 두 번을 받아 들일 겁니다. 우리는 output-- 것 또는 우리는거야 이중 유형을 반환합니다. 우리는이 결과를 할게요 다음 회에 대한 우리는 실제로 결과를 가지고 무엇을하는 하나의 값으로 초기화 된, 그리고 x로를 곱합니다. 그래서 본질적으로 우리는 여기에 X 곱하기 X가 있습니다. 그래서 그때는 우리가 수도, 다음 수 2의 실행 능력을이 걸릴 것으로 전망, 그것을 제공하는 일부 데이터, 나는 2.0을 좋아한다. 그리고 우리는 여기에 4.0 결과를 보게된다. 3.2 우리의 2의 전원을 실행 우리의 결과, 10.24을 보게된다. 지금까지 너무 좋아, 그렇지? 이제 우리는 OK, 잘 생각하고 있습니다. 지금은 실제로 필요 3의 힘을 많이 할. 그래서이 모든 코드를 붙여 복사합니다, 로부터 함수의 이름을 변경 전원의 3, 모든 2의 전원 이 값을 제외하고 동일합니다 여기,이 범위,​​ 1 ... 2. 그래서 오히려 반복보다 이 루프를 두 번, 나는이 루프를 세 번 반복합니다. 그래서 난 그냥에서 해당 값을 변경 1-I-T-A-3 또는 오히려 2-3. 그래서 다시, 동일한 코드, 그 유일한 변화입니다. 지금 이것은 또한 작동합니다. 이 값의 일부에 제공 3의 전원을 켭니다. 우리는 8 얻을. 그래서 2의 세제곱. 그리고 3.2 제곱은 32.768입니다. 그리고 지금까지 너무 좋아, 그렇지? 그러나 희망이 조금 있습니다 당신을 위해 붉은 깃발의 비트 점에서 우리는 지금이 코드의 일부 중복 아주 사소한 제외 다음에 하나를 변경합니다. 그래서 어떤 방법이 그 우리는 간단하게 할 수있을 것 이 문제 여기서 우리가 실제로 할 수있는, 런타임에, 일부를 파악, 우리가 어떤 기능을 제공 정확하게 우리가 원하는 것을의 힘. 그리고이 생각이있다 정말 폐쇄, 정말 스위프트의 맥락에서 중요, 많은 다른 언어뿐만 아니라. 하지만 아마 당신은 볼 수 그것은 스위프트 더 그렇게 사용 그것은 임베디드 있기 때문에 언어 내 다른 윌보다 또한 현대적인 언어. 폐쇄 생각 그래서 이된다 우리가 하는 것을 의미하는 기능을 가질 수있다 일반적인 기능, 일반 전원 수 기능. 그리고이 기능은 받아 들일 것입니다 이 지수가 우리가 실제로 만들려고합니다. 그래서 예를 들어, 최초 예, 우리는 2의 거듭 제곱을 원했다. 그래서 우리의 전력을 제공 할 것이다 다음 괄호 2. 그리고 지금 알 수 무엇 이 실제로 반환합니다. 이 프라이머의 입력을 받아 정수라고 Y, 그것은 찾고 미친을 반환 parentheses-- 괄호 일 이중 두 번 화살표. 이것이 의미하는 것은 난 것입니다 함수를 반환하는 것. 나는 돌아 아니에요 다른 데이터 유형, 난 실제로 복귀 기능 그 것을,이 매개 변수가 허용 입력으로 더블 반환 값으로 이중 출력합니다. 그리고 그 결과로, 때문에 이제 나는라고했습니다 전력, Y에 대한 몇 가지 값을 전달, 나는이 기타를 만드는거야 가 있음을 function-- 통지 작성되고있어 다른 기능 이 항아리 안에 내가 무슨 생각을하는거야 그때 변경할 수있다 그 값, 하나 내가 변경 한 값 2-3, 지금은 Y합니다. 그리고이 지속됩니다. 그래서 전원을 호출 할 때마다 의, 본질적으로 무슨 일이 내가 함수를 반환받을 것입니다. 내가 정의한 여기에 알 수 있습니다 새로운 변수는 사각형했다. 나는의 전력이 동일하게 설정 한 의 전원이 값 2를 제공했다. 그리고 어떤이가 반환하는 기능입니다. 그래서 광장, 변수 광장 입력 기능의 지금 그 이런것 죄송합니다, 스크롤이 이 서명이 작은 bit--, 더블 더블과 출력을 받아들입니다. 그래서 지금 내가 무슨 짓을했는지 나는 기본적으로했습니다입니다 라는 함수 광장을 만들어 그 값을 허용하고 광장 것입니다. 우리는 여기까지 어떻게 볼 수 있습니다. 예를 들어, 광장 3, 내가 갈거야 의미 값 3을 가지고 그것을 제곱합니다. 정확히 어떻게이 일을합니까? 나는 2 ...의 전력을 전달할 때 때 기능이 전원에 2를 통과, 이 변수 Y는 그 값이 채워. 그리고이 종류의 메모리에 보관됩니다. 그건 일종의에서 개최 마치 어딘가 컴퓨터의 상태, 우리가 정말 어떻게 상관 없어 어디서이 시점에서. 하지만이 기능을 반환 exponentiate했다. 그리고 다시, 정말 중요하지 않습니다 이 기능은 무엇이라고, 우리는 정말, 그것은 아무것도를 호출 할 수 있습니다 , 두 번 받아 더블을 반환 하지만 그 안에이 y 값을 사용합니다. 그래서이 기능은, 비록 의이 exponentiater 기능 다시 반환 된 내 내가 광장라는 변수 그것은 그 안에 포함되어있다 y는 무엇의이 개념. 그리고 그 기억합니다. 그래서 때마다 그 함수를 호출하는 지금 광장이라고, 그 사용합니다. 하지만이 또한 내가 할 수있는 것을 의미한다 사용하여 다른 변수를 생성 다른 전원을 켭니다. 그래서 들어, 큐브 변수를 만들 수 있습니다 예, 그것은 3의 전원을 공급합니다. 이제 큐브는 실제로 일부를 취할 것 가치와 큐브 그와 돌려줍니다. 그래서 우리는 내가 얻을 수 있음을 알 수있다 그 중 값 8. 그러나 그 값 y를하지 않았습니다 그들이이기 때문에 변경 독립 변수의 종류에서 개최. 그들은 일종의에서 개최된다 메모리에 독립적 인 공간. 그래서 큐브는 항상해야합니다 3의 힘에 X. 그리고 광장은 항상있을 것이다 (2)의 힘에 X하는 그 광장은 항상 의미 나는 예상대로 광장 번호. 그리고 큐브는 항상 반듯한 것 숫자, 나는 예상대로. 이것은 또한 의미 때때로 당신이 할 수있는 그 펑키 찾고 구문의 일종을 얻을 여기서 당신은 매우에서의 힘을 가지고 여기에 화면의 하단, 5의 전원을 켭니다. 그리고 당신은 결과에 전달합니다. 당신의 그 함수를 호출 숫자 4로 반환 된. 그리고 본질적으로 어떤이 상기 제 4 전원 우리는이 결과를 볼 수 있습니다. 저와 함께 지금까지? 그래서이 아이디어는 폐쇄라고 우리는 기본적으로 무슨 일을하는지 때문에 우리가 캡슐화하고있다 일부 데이터 정렬 into-- 이 데이터를 둘러싸의 우리가이고 기능에 이 기능을 재사용 할 수있는. 지금이 구문하지만 실제로 수 큰 금액을 단순화 할 수. 그리고 가능성이 많이있다 이 단순화에 대한 스위프트의. 그리고 그것은 어떤 종류의 이후 사람들은 실제로 봐. 그래서 예를 들어 7b에, 우리 이 동일한 코드를 가져다. 하지만 지금보다는 실제로 함수를 정의 이 전원의 내부 작동하고 이름을 지정, 다음 이름을 반환 함수의 어떤 다음의 일부로서 사용되는 이 폐쇄, 대신 우리는있어 그냥 단순화하는 것. 우리는이 기능이 명명 할 필요가 없습니다. 그래서 이것의 개념은 익명 함수 여기서 우리는 할 수 여기에 괄호 안에 입력으로 받아, double 유형이다 변수 x. 우리는 double 유형을 반환하는 것입니다. 그리고 키워드는, N,이다 이 함수의 시작입니다. 그래서이의 모든 것을 알 수 중괄호 내에 그리고 우리를 정의하고 익명 여기에 작동합니다. 그냥 간단한 방법 정확히 똑같은 일을 정의. OK? 그러나 잠깐, 스위프트는 실제로 우리를 수 더 나아가, 심지어 더 단순화하기 정말 우리가하지 않기 때문에 이 매개 변수가 있음을 걱정 특정 일을 지명했다​​. 그것은 정말 아무것도 호출 할 수 있으며, 우리는 여전히 그 첫 번째 매개 변수를 사용할 수 있습니다. 그래서 사실이 특별한 존재 익명 함수의 데이터 유형, 이 특별한 이름이있다 익명 함수의 변수 와 그 시작 달러 기호 나타냅니다 파라미터 번호, 제로 이 기능, 색인. 그래서 계속 몇 가지가있다. 여기에 다음 반환테니까 함수를 나타내는 중괄호, 오른쪽? 내가 정의하지 않습니다 공지 사항 매개 변수 유형 또는 반환 형식. 사실은 추측 할 수있다 서명 때문에 이 원래의 기능. 그래서 우리는 제거 할 수 있습니다 그런 가능성. 그러나 또한 나는에 달러 기호 제로를 사용할 수 있습니다 의 첫 번째 매개 변수를 나타냅니다 이 익명 함수에 전달. 그래서 더 그것을 단순화. OK? 지금까지 너무 좋아? 지금은이 유형 선택이야 당신을 이 달러 기호 제로 기억 우리는이 중괄호에서 본 것을 우리는 잠시 동안 보았다 전이 스위프트 여섯 예에? 바로 여기였다. 그게 정확히 알 수 우리가보고있는, 우리가 통과 한 것입니다 이 분할 기능으로 익명 함수 그 첫 번째 매개 변수를 확인 이 콜론 기호와 동일한 경우 볼 수 있습니다. 그리고 그게 정확히 무슨 일어나고있는 모든 것입니다 우리는 수익을 하는거죠있어 키워드는 암시 이 case--에 우리는 반환하고 우리가 비교하고이 값 에 대한 첫 번째 매개 변수 이 문자 콜론. 그리고 그런 종류의이 demystifies. 그리고 당신은이 구조를 보게 될 것입니다 스위프트 구문에 많은, 그래서 계속 수행 당신이있어 마음에 이에서 살펴 본다. 이제 우리는 하차 할 수 있습니다 레일 조금 와 쇼가 정말 멋진 이동 스위프트의 힘도 좀 더. 당신은 몇 가지를 볼 수 있습니다 샘플 코드에서 이러한. 내가 갈거야 이유야 당신이를 표시합니다. 기본적으로 우리가 할 수있는 것은 첫째, 것입니다 모두 나를 위해 불필요한 가지였다 의 모든 전력을 구현 코드는 다윈 가져 오는 경우 때문에 라이브러리는, 실제로 기능을 포함 당신을 위해이 작업을 수행 펑했다. 그래서 우리는 그것을 단순화 할 수 있습니다 더와 지금 우리의 힘 업 기능을 가지고 어디 멋진 한 라이너가 될 단지 이 익명 함수를 돌려주는 그것으로 달러 기호 0을 받아 그것의 지수로베이스와 y. 그러나 우리는 정말 얻을 수 있습니다 때 정말 멋진 스위프트가 실현 후드 아래의 전력을 많이합니다. 운영자의 많은 그 우리는 처리했습니다 더하기 기호와 구분 기호 및 이 모든 것을 당신 일반적으로 데이터 형식으로 작동 프로그램 언어, 실제로 스위프트의 확장이다. 그래서 그는 우리 의미 우리 자신의 연산자를 정의 할 수 있습니다. 그래서 지금은 모든이에 입력 지겨워 펑 후 다음 괄호 베이스. 나는 그렇게하고 싶지 않아. 실제로 갖고 싶어 내가 그렇게 할 수 있습니다 연산자. 그래서 내가 원하는 스위프트을 알 수 있습니다 운영자, 스타를 만들려면 내가 캐럿을 사용할 수 없습니다 그런데 star-- 캐럿 연산자 때문이며 완전히 다른 무언가를. 그래서 정렬하지 않으 의 충돌. 그래서 당신은 다양한에서 무엇을보고 파이썬을 포함하여 언어의, 스타 스타 연산자처럼 지수를 나타냅니다. 그래서 유일한 이유가 내가 왜 그런 짓을했는지. 그리고 그것은 될 것 중위 유형 연산자. 그리고 제공해야 그것은 몇 가지 정보 이것의 우선 순위에 대한 운영자는 그래서 왼쪽 연관입니다. 그것은 상대적으로처럼 높은 우선 순위 비교 요약 또는 곱셈합니다. 그것은 높은 우선 순위의 그 모든 것보다. 등등 등등. 그리고 나는 정의 기능 실제로 이 연산자가 무엇을 지시한다. 그래서 왼쪽을 가지고 있다고 가정 편과 오른쪽, 하는 것입니다 아마도 이것에 대한 더 나은 변수 이름. 왼쪽과 오른쪽. 그때 나는이 힘을 취할 수 우측에 좌측 그 값을 반환합니다. 그래서 지금은 슈퍼 달콤한입니다. 우리가 할 일은 2 성급 스타 3 그리고는 제 3 전원 2 우리는 8의 값을 얻을. 2 성급 스타 (10)는 2입니다 10 전력, 우리는 1,024을 얻을. 이제 함수의 우리의 힘, 이는 다시 다르다 이 때문에 뒤의 모든 생각 우리는 하나의 기능을 가지고였습니다 항상 어떤 값을 사용하고 굳이 곱하거나 오히려 같은 전력 지수를합니다. 그래서 지금은 더 간단합니다. 그래서 지금은 그냥 달러입니다 0 스타 스타 y를 서명합니다. 우리는 심지어 더 이상 펑를 사용할 필요가 없습니다. OK, 사​​람은 누구입니까? 우리는 확인하고 있습니까? 이 물건에 대한 질문? 그래? 청중 : 때 당신 ... [들리지] Y 이중의 펑크 전력. 그래서 당신은 함수를 반환 할 때. 다니엘 ARMENDARIZ : Y 이중의 펑크 전력. 오, 그래, 나도 몰라 Y 번호는 무엇인지. 그것에 대해 죄송합니다. 청중 : 왜 당신이 반환된다 함수 [들리지] 인클로저. 달러 제로 스타 아닌가요 스타 Y [들림] 그와 그 운영자를 찾아 더블 [들림] 두 번 갈까요? 다니엘 ARMENDARIZ : 그래서하자 나 귀하의 질문에 대답 나는 그것을 이해하고 말해 줄 수있는 방법 나는 당신의 질문을 이해하지 않은 경우. 그래서이 구조, 중괄호 달러 기호 영 스타 스타 Y, 함수이다. 그리고는 매개 변수를 받아 이 달러 기호 0으로 표시. 반환 키워드는이 암시된다 매우 짧은, 익명 함수 구문. 어떤 본질적 것을 의미한다 어떤이 말하는 나는를 정의한다는 거죠 function-- 다음 나는거야 그냥 전화 어떤 .... 나는 약간의 y 값을한다. 나는 두 번이다 y를 가지고있다. 그리고 더블을 반환하고 있습니다. 그리고 내가 돌려 내에서이 미안 y--, 나는이 y-- X라는 필요가 없습니다. 얘야, 그래, 그래 .... X-- nope-- 스타 스타 (Y). 그래서 이것은 단지입니다 이러한 단순화 된 버전. 그리고 이유 나는 달러가 그 기호 제로는이 케이스를 사용하는 것입니다 나는 더 이상이 없음을 의미합니다 이렇게 더 이상 펑을 입력하지 않거나하기 내가 뭔가를해야 추천 스타 스타 2. 나는 단지 하나를 가질 수 있습니다 기능이라고 광장 즉, 항상 걸릴 것입니다 입력으로 일부 값 실제로 그의 제곱을 반환합니다. 따라서 폐쇄의 전체 목적은 그저 사실을 캡슐화 난 항상 할 때마다 Y를 사용하도록 나는 힘으로 그 함수를 호출 이 지수를 촬영할 때. 그래서, 다음 반환 허용 기능 기지를 두 번, 그리고 그 지수의 결과를 반환 여기에 키입니다. 그리고 그 주요 특징이다. 번창의 조금이 있었다. 이것은 어떤 차이가 없습니다 종래 예에 비해 그러나 그것은 단지 조금이었다 우리가 실제로 할 수 번창 스위프트의 연산자를 만들 실제로 그것으로 물건을, 어느 멋진 물건의 종류이다. 나는 귀하의 질문에 대답 했습니까? 달콤한. 다른 건 우리가 이동하기 전에? 확인을 클릭합니다. 지금이 일종의 구걸 문제는 거저 물론 OK입니다 지금 우리는 능력을 가지고 함수는 반환합니다. 우리는 또한 데이터 등의 기능을 전달할 수 있습니다 또는 다른 함수에 매개 변수로? 그리고 사실 우리는 할 수 있습니다. 그럼 우리가 가정 해 봅시다 동일한 코드의 모든. 우리는 광장 변수가 즉,이 코드를 네모로합니다. 그리고 우리는 큐브 변수가 즉, 일부 데이터를 큐브합니다. 그리고 우리는 실제로 적용 할 숫자 광범위한. 그래서 우리가 할 유혹 될 일을, 물론, 확실히 유효한, 번호의 목록을 반복하는 것입니다 내 기능 광장과 큐브를 적용 결과로 두 개의 새로운 목록을 얻을 제곱이 원래의 목록입니다 그 각각 반듯한. 완벽하게 허용. 그러나 것은 무엇 그 우리는 여기에서 볼 우리가 가지고있다 다시, 우리의 코드의 중복. 그리고 아마도 기회가있다 우리를 위해이 조금 단순화. 우리 수있는 방법이 있다면 무엇 실제로 항상 어떤 목록을 반복 그냥이 마법에 전달 변수를 작동하는지 함수를 나타낸다 우리가 적용 할 것을 이 목록에있는 모든 단일 항목. 이 개념을 무슨 일로 고차 함수라고합니다. 그리고 어떤이는 본질적으로 , 우리가 함수를 만들 수 있다는 것입니다. 그리고이 경우에는이라고 매퍼, 그냥, 그것을 이름을 지정합니다 모든 이상 매핑 목록에서 단일 항목. 어디에서 목록을 나는 기능을. 그리고 그 기능은 물론, 특정 서명이 있습니다. 이 매개 변수를 두 번으로 받아 그리고 출력은 더블 것입니다. 그리고 전체적인 결과 이 함수는 것입니다 double 유형의 인 새로운리스트가 될 수 있습니다. OK? 그리고 나는 무엇을 할거야 이 함수 f를 적용하는 것입니다 내리스트에있는 모든 요소. 그리고 reply-- 오히려이 새로운를 반환 정말 멋진 결과로 목록입니다. 지금은 주위의 기능을 전달할 수 있습니다. 그리고 고차의이 아이디어 기능은 정말 중요합니다. 그리고이 매퍼는 정말 가난한 사람의 구현 내장 기능의 스위프트에지도를했다. 그리고, 정확하게이 수행 아마도 조금 더 나은. 이것은 그저 일반적인이다 단순화 된 버전이 우리는 정보를 볼 수 있습니다 여기에 적용되는 개념입니다. 이제 방법을보고 제가 실제로 내 광장을 적용 할 수 있습니다 내 큐브 기능 번호 목록에. 내 매퍼를 실행합니다. 나는 그것에 번호 내 목록을 제공합니다. 난에 제공 이 함수는거야 그 인덱스에 각각 적용합니다. 그리고 그것은 될 것입니다 결과로서 출력한다. 그리고 나는 제곱 한 것을 보게됩니다 그 결과로 내 번호를 반듯한. 물론 매퍼 취할 것 익명 함수의 어떤 종류. 우리는 심지어 내가 만든 것을 볼 수 있습니다 새로운 익명 함수 그 그냥 몇 가지 매개 변수를 2하여 나눕니다. 그리고 우리는, 나는 사실 수 있었을 것을 볼 수 있습니다 대신 2 내 목록을 나누었다. 쿨? 지금까지 너무 좋아? 그래, 지금하자 다시이 아이디어에 온다. 이제이 백을 구현하자 성적표의 맥락. 나는 할 경우, 우리는 내가 할 수있는 것을 알 수 있습니다 이러한 options-- 다양한 적용 또는 이들의 다양한 고차 함수 실제로 작업을 수행하는 내 능력을 단순화 번호 목록에 사물의 다양한. 예를 들어, 그래서 , 번호 목록을 고차 함수 중 하나 그 감소라고 존재한다. 무엇 감소하는 것은 오히려 않습니다 지도보다 감소 것 목록에 두 가지 요소를 가지고, 일부 기능을 것이다 의 두 요소를 비교 목록 및 그러므로 것 일종의 output-- 함수의 출력 다른 요소가 될 것이다 당신은 다른 사람과 비교하는. 그래서 당신은 실제로이 사용할 수 목록에있는 숫자의 합. 예를 들어, 당신은이 있다면 하나의리스트, 2, 3, 4, 5, 첫 번째 요소 1과 2를 취할. 당신은 또한에 적용 할 수있는 이 두 요소를 취하여, 그 요소 중 하나를 내뿜으며, 어떤 값 3이 될 것이다. 그런 다음 우리는 다음에 그 값 3을 리스트의 요소는,이 두 합산 다음 목록을 아래로 계속. 우리는 감소하고 하나의 값으로 나열합니다. 그리고 우연히도 더하기 기호 그 연산자는 우리가 방금 본 것처럼입니다. 이 연산자는 실제로 기능하는 정확하게이 목록을 가지고 그 우리 원하는 것이 이러한 속성이 아니라 우리는 할 것이다. 그래서 내가하는 것이 좋습니다 이것 좀보세요. 나는 이동의 정렬 할 에이 코드의 일부에서 우리가 실제로 몇 가지를 검색 할 수 있도록 (듯이) 엑스 코드에서 실제, 실제 사실 스위프트, 아이폰 OS 개발. 그러나 좀 봐 이것과 당신이 할 수 있는지 무슨 일이 일어나고 있는지를 구문 분석 이러한 높은 순서의 일부 필터 기능을 포함한, 줄이고, 심지어거야 여기 어딘가에을 참조하십시오뿐만 아니라 매핑합니다. 바로 여기입니다. 그것은 어디 시퀀스를 취할 것 성적과 실제로 것 스위치 구조를 사용하여지도, 당신은 C에서 인식 할 수있는, 하지만 실제로는 더 많은입니다 스위치 구조체보다 강력한 우리는 C.에있는 것을 그리고 우리는에 그 적용합니다 리스트에있는 모든 요소 실제로 제공 각각의 편지 등급 이러한 모든 개념을 사용하여 해당 등급의 것을 우리는 이전에 대해 얘기했습니다. 이제 단지에 대한 회피하자 분 구조체에 대한 이야기​​. 그래서 구조체는 C에 대기하고 있는지 우리 새로운 데이터 유형을 정의 할 수 있었다. 구조체는 스위프트 내에 존재한다. 그래서 다른 구조를 많이 할 라고 열거와 클래스, 정말 이 생각을 완전히 다른 수준입니다. 그리고 기본적으로 그냥 방법 의 새로운 데이터 유형을 정의. 그래서 당신이 온다면 당신은을 끝낼 경우 클래스 또는 구조체 또는 열거 형에서, 그것 때문에 혼동하지 않습니다. 그것은 정의의 단지 방법 데이터의 새로운 특정 유형. 그리고이 때 정말 중요하다 우리는 iOS 앱 개발에 대해 얘기하고 모든 것을 그 때문에 iOS 앱 내에 존재 본질적으로 어떤 종류의 목적이다. 그리고 기본적으로 개체이다 클래스 또는 열거 나 구조체. 난이 경우에 따라서 새로운 데이터 유형을 정의 나는 평가를 호출 걸 즉 포함한 일부 속성을의 이름과 등급의 순서. 평가 그래서 한 가지 유형 내가 생각하고있는 수도 예를 들어 퀴즈 것입니다. 내가 가지고 싶은 것 퀴즈이었다 평가 그 학년의 다양한했다 퀴즈 하나, 그와 관련된, 두 퀴즈, 기타 등등. 아니면 다른 유형이있을 수 있습니다 문제 세트의 평가. 그리고 일을 할 수있다. 사실 수 있습니다 이 유형 내 기능 지금라는 방법이 있습니다 데이터의. 당신이 이제까지을 참조한다면 단어 방법, 그것은 정말 적용되는 함수이다 단지 매우 구체적인 클래스, 또는 데이터의 매우 특정한 타입. 그것은 내에서 데이터를 수정할 수 있습니다. 그래서 다른 말로하면, 내가 원하는 경우 내 평가에 등급을 추가, 그럼 내가해야 할 일은이다 입력했던 점수를 추가 이 기능에 내 내부 속성입니다. 여기에 또 다른 깔끔한 구조가있다 이 점 점 점이다 스위프트,에 점수 할 수 있다는 것을 의미 운영자, 지금 정수의 번호를 받아들입니다. 그리고 점수가 될 것입니다 정수의 배열이 내 함수에 전달 된 어느 이 같은 물건을 할 수 있다는 것을 의미한다. 나는 성적을 추가하고 바로 제공 할 수 그것으로 정수의 임의의 숫자 실제로 어레이를 제공 할 내 기능에서 그 값 또는 내 방법으로는 경우이다. 이제이 때문에 중요하다 엑스 코드의 모든, 아이폰 OS의 모든, 객체는 사실이다. 그래서 마음에 계속 우리는 오픈 엑스 코드를 체포 할 때 와 아이폰 OS를 넘어 앞으로 이동 버전, 둘, 셋 실제로 버전 네 이동합니다. 그리고 또,이 모든 것 세미나 페이지에 게시. 아이폰 OS 네 불어 전체의 일종이다 아주 기본적인 응용 프로그램의 구현입니다. 그리고 어떤이 응용 프로그램이하는 일은 그 것이다 이처럼 보이는 UI를로드합니다. 우리는 스토리 보드를 클릭하면 다시 말하지만, 우리는 할 수 이는 모습이다 것을 알 수있다. 이 UI입니다. 그것은 매우 상단에 제목이 있습니다. 나는 웹 갤러리를 호출했습니다. 중간에 요소가 있어요 UI 이미지보기라고합니다. 그리고 맨 아래에있다 하나의 버튼으로 도구 모음 그 에 허용 신축성 공백이 이 도구 모음의 중간에 센터. 그리고 무슨 일이 그 때이다 로드 그건 JSON 파일을 다운로드 다른 서버에 포함, 그 JSON 파일을 구문 분석 및 JSON 파일은 다음과 같은 비트를 보인다. JSON 파일은 다음과 같습니다. 이 그것입니다. 그것은 앨범 이름을 가지며 이 사진의 배열을 가지고있다. 그 사진의 각 이름을 가져야하며 를 나타내는 URL 자체 개별 사진의 JPEG 버전. 그래서 일이 무엇을 할 때이 프로그램이 로드는 JSON 파일을 다운로드, 그것을 구문 분석에이 모든 것을두고 아이폰 OS 어레이의 등가 있는 NSArray입니다 응용 프로그램 개발. 그리고 난 다음로드 할 수 있습니다 응용 프로그램에이 데이터 내 화면에로드합니다. 로드 된 이미지가있다 맨 아래에있는 버튼. 나는 다음 이미지를, 그 다음 가져 오기를 클릭하면 인터넷에서 해당 이미지를 가져옵니다 그 이미지를 대체 UI 이미지보기. 그래서 당신은 실제로이를 다운로드 할 수 있습니다 컴퓨터에 그것을 살펴. 그리고 실제로 구축 당신의 장치에 컴파일. 그러나 본질적으로 공정은 이것은 storyboard--를 만들 또는 오히려 create--하지 하지만 스토리 보드를 선택합니다. 당신이 mind--하지 않으면 실제로 we'll-- 우리는 초 단지 몇 할게요 실제로 당신을 표시하려면이 수행 된 방법. 얼마나 우리가 실제로 할 수 있도록 달성이 만들어 조금 더 명백한. 단일보기 응용 프로그램, 난 이 세미나를 호출하는 것 네 표현이 특정 번호. 바탕 화면에 저장합니다. OK, 스토리 보드를 클릭 것. 그리고 나는 무엇을 할거야 내 이미지보기를 찾을 수 있습니다, 내 사용자로 드래그 인터페이스 및 센터 그것. 지금 바로 불행히도을 중심으로 전체적으로 많은 일을하려고하지 않습니다, 화면을 제외하고 즉,이 정확한 크기입니다. 그래서 우리는에 의해 그 자신을 설득 할 수 이 두 원 일을 클릭, 이 팝업을 아래로 가져 여기에 메뉴 변경까지 여기서 우리가 실제로거야, 미리 봅니다 미리 볼 수있는 기회를 얻을 이것은 실제로 것 다른 장치에서 찾습니다. 우리가 볼 수 있듯이, 우리는 심지어하지 않습니다 이 특별한 경우에 그것을 참조하십시오. 그래서 지금은이를 닫습니다거야. 내가 선택한거야 아주에서 다운이 아이콘 화면의 하단 부분입니다. 그것은 자동 레이아웃 문제를 해결했다. 죄송합니다, 그것은 하단에 차단합니다. 하지만 그 클릭하면, 내가 이 팝업이 사라 노랑이됩니다 얻을. 내가 도착하면이 팝 업입니다 나 누락 된 제약 조건을 추가 할 수 있습니다. 그리고로는 것을 일 다음 정렬을 잠급니다 의 중앙부 내로 나는 같은 화면이 예상. 이제 위해이 버튼을 얻을 수 그 위에, 나는 편집기로 이동해야합니다. 퍼가기에서 클릭으로 이동 네비게이션 컨트롤러. 무슨 할 것하면 해당 추가 것이다 그것은이 모든 다른 구성 요소, 하지만 실제로 연결됩니다 그것은 다시 내 원래의 UI에. 그리고 세부 사항은, 다시, 우리는하지 않습니다 지금 당장 걱정해야합니다. 하지만이하고 싶어 맨 아래에 도구 모음. 그래서 나는 쇼 도구 모음을 확인합니다. 그리고 이것은, 내보기 내에서 제공 이는 지금 다른 곳이다, 우리는 여기에 링크를 볼 수 있습니다. 이제 도구 모음을 제공합니다 내 UI의 맨 아래에. 그래서 지금, 선택보다는 이미지보기, 나는, 레이블을 찾을 수 있습니다 또는 오히려 toolbar-- 의 그 어디, 보자? 그것은 무엇이라고? button-- 항목 bar-- item-- sorry-- 바 버튼 항목을 선택합니다. 그 거기에 풍덩하고 몇 적용 양쪽에 유연하게 공간 실제로 중앙합니다. 그래서 지금은 기본적으로, 내 UI를 만들었습니다. 그리고 나는하여 이름을 부여 할 수 있습니다 맨 위에 두 번 클릭 여기 등 웹 갤러리를 말하는. 이제 다시, 이러한 요소는 스스로 그 존재한다. 그리고 연결해야 내 코드에있는 다시 가져 와서 할 수있는 이 두 원 아이콘까지, 미리보기에서 변경. 어느, 그런데, 지금 우리가 볼 수 있습니다 친절을 중심으로 좋은 볼 것이다 다양한 장치에. 하는 것, 자동으로 전환 의 ViewController 코드를 가져온다. 그리고 지금이 부분은 중요하다. 이러한 연결하기 위해 두 가지 요소, UI에 대한 코드, 당신이 항목을 선택하는 당신은 연결하려는. 이 경우 그래서, 우리 실제로 인코딩 할 포함되어있어 이미지를 변경 이 UI 이미지보기 내. 그래서 당신은 제어 경우에서 클릭 이미지보기 및 드래그, 당신은 당신이 작은 막대를 얻을 것을 알 수 있습니다, 당신은 모든이 팝업을 보내 줄 때 최대가 발생합니다. 그리고 우리가 것을 말한다 연결을 만듭니다. 그리고 여기에서 나는 그것을주고 싶어 이름, 갤러리 같은. Enter 키를 누르십시오. 그리고이 실제로 제공 변수라는 갤러리 그때 나는 내 코드에서 참조 할 수 있음을 예를 들어, 이미지를 변경한다. 어떻게 그 코드는 실제로 보입니까? 그럼 다시, 나는 싶지 않아 거기에 너무 많은 시간을 보낸다. 그리고 내가하는 것이 좋습니다 다운로드하여보세요. 그러나 가장 중 하나 중요한 측면 코드 즉, 실제로 이미지를 가져옵니다. 내가 원하는이 경우에 따라서 내 사진 내에서 얻을 수 있습니다 포함되어있는 배열, 내 클래스 내. 나는 이름과 URL을 정의 할 그이 JSON에서 구문 분석입니다. 사실을 얻을 수있는 장치를 물어 URL은이에서 URL을 가져올 수 다음의 데이터를 페치 그 URL의 내용을 표시합니다. 이어서 화상 데이터로 변환 UI 이미지로 전달하여. 그래서 다시,이 모든 다른 유형은 객체 클래스의 다른 유형의. 그리고 그때 설정할 수 있습니다 내 데이터와 동일 gallery.image. 그리고 그 고기의 일종 그것의 사실은 다음이다 데이터 나서 ... 변화를 변경할 수 다음에 하나의 영상. 그래서 다시, 희망 지금 구조의 많은 조금 더 이해가됩니다. 몇 가지를 발견 할 수있을 여기에 느낌표. 느낌표는 기본적으로 optionals 관련. 내가 기본적으로 말을하고있어입니다 심지어 확인하지 않고 데이터가 있는지 확인합니다 이 옵션 내에서, 내가 가서 생각하는거야 있음이 그것을 푸는. 우리의 비유를 사용하는 것을 기억하십시오 optionals에 대한 패키지의 종류 우리는 랩을 해제해야 패키지는 데이터를 꺼냈다. 느낌표 실제로 일어날 힘. 그러나 나는이 것을 알고 안전한 내가 알기 때문에 화상 데이터가 동일한 있는지 전무로, 사실은 확인했다 그 선택하면 볼 수 있습니다 했다, 사실, 실패했습니다. 즉이 있다면, 사실, 이미 실패했습니다. 그래서 나는이에 일단 확신 점 I 안전하게 데이터를 풀다 수 있습니다. 당신은 또한에서 볼 수 있습니다 물음표의 형태로. 우리는 어디에서 아래로 스크롤이 경우 I 실제로 데이터를 구문 분석 할 필요가있다. 그래서 의해 연기하지 말라 긴 이름의이 종류. 당신은 애플에서 찾을 수 있습니다 개발자 사이트를 많이 모두에 대한 참조 개체 및 모든 프로세스 실제로이 가능하게있다. 그러나 이것은 본질적으로 통지 내가 몇 가지 데이터를 전달하는 기능. 그리고 데이터의 일종을 다시 얻을. 그리고 난에 키워드로 사용할 필요가 이있는 NSDictionary로 변환? 이는 다시 인 옵션있는 NSDictionary. 그럼 내가해야하는 이 존재하는지 확인합니다. 허락한다면 그래서 나는 것을 사용할 수 있습니다 성공적인 등호, 구문 분석 그때 나는 그 선택 알고 실제로 일부 데이터가 포함되어 있습니다. 아니면 내가 여기 한 것은에 있었다 그냥 경우가 가정 사실 그것은 안전 오류는 없었다. 좋아, 나는 감사드립니다 당신이 모든 걸 진심으로. 나는이 많이 있었는지, 그러나 단지 시간이었다 몇 가지에 대해 이야기 꽤 고급 물건. 그리고 잘하면를 얻을 수 있습니다 기회는 모든 코드를 다운로드 더 나은, 더 걸릴 그것에 철저한 모습. 모든 정렬의 자신을 설득 물건의 무슨 일이. 그리고 난 당신에게 감사하고 싶어요 모든, 다시 와줘서. 최종 프로젝트를 그리고 행운을 빕니다. 좋은 하루 되세요.