>> RHED SHI :에 오신 것을 환영합니다 CS50 세미나를 참조 -
아이폰 OS 소개.
모두들와 주셔서 감사합니다.
난 당신이 그냥 흥분 희망 내가 아이폰 OS에 대해 나처럼.
작년에, 나는 2 학년 CS50했다, 나는 기본적으로 용 iOS를 배운 내
최종 프로젝트.
그리고 그것은 꽤 있었다 -
물론, 그것은 쉬운 일이 아니었다, 그러나 거기 온라인 지원 자습서 많이.
그리고 정말 희망이 이것 세미나, 나는 머리에게 너희들을 줄 것이다
아이폰 OS 개발 시작
>> 따라서,의 iOS 개발의 측면에서, 두 가지 상황이 우리가 있습니다
오늘 커버하고 싶은.
첫째, 언어 -
언어가 될 것입니다 목표-C. 우리는 실제로들을 수 있습니다
정말 흥미로운 일.
그래서, 당신은 전체 애플에 가입하실 수 있습니다 개발자 커뮤니티와 일부 구축
정말 멋진 애플 리케이션.
>> 또한, 아이폰 OS 7, 희망, 아름다운 당신의 일부.
그러나 내가 아는 논란이다.
주로, 내가 원하는 것은 가이드입니다 당신 오브젝티브-C,도를 통해
통합 엑스 코드, 당신이있을거야 개발 환경
아이폰 OS에있는 작업.
>> 그리고, 오브젝티브-C에 그냥 단어. 기본적으로, 그것은, C와 동일한의
그러나 다른 많은 것들과 함께.
그리고, 더 엄격하게, 사실의 슈퍼 세트 C. 그렇게 아무것도 당신
입니다, 지금은 C에서 할 수있는 기본적으로는, 6을 통해 PSET 0 좋아
목표 - C에서 할 수 있습니다.
>> 그래서,이 새로운 약을 두려워 느끼지 않는다 당신이 배울거야 언어.
당신은 이미 많이 다루었 모든 C에게 지난 일을했기 때문에
학기는 이제 제외하고는거야 함께 일을 더 많이해야합니다.
그리고 난 그냥 통해 당신을 이끌거야 을 강조하는 사례 몇
I는 것을 알았다 주요 차이점 정말 중요한 때 배운
오브젝티브-C 작년에.
>> 그럼 실제로, 그래서, 다른 점 , 오브젝티브-C, 분명히된다
객체 지향.
그리고 우리는 조금 더 논의 할 것이다 그 이후 무엇을 의미하는지에 대해.
기본적으로, 그것은 당신이 어떻게 작동하는지처럼 지난 PSET의 구조체와
노드와 유사한 다른 그런 것.
오브젝티브-C에서, 모든 것이, 제외 객체, 그리고 당신이 될 것입니다
객체에 대한 포인터를 주위에 전달 오히려 값 자체보다.
그래서, 그냥 중요한 일이다 염두에 두어야합니다.
>> 그럼, 왜 우리는 몇 가지로 시작하지 않습니다 C 사이 구문의 차이
목표-C?
당신이 포함 #를 강조 표시 할 C와 C + +에서 알고, 표준 io.h에는와
그 목표-C 버전, 어떤 # 수입하고 어떤 종류의 것입니다
헤더 파일.
이 경우에는, UIKit 것 당신도 알다시피, UIKit.h을 슬래시.
또한, 당신도 알다시피, MKMapview 될 수 당신이 원하는 경우 MKMapview.h을 슬래시
, 등, 귀하의 응용 프로그램의 내부지도를 할 수 있습니다.
그런 비슷한 것들.
>> 따라서, 중요한 것은 (가) 있습니다 지금 가져올 변경되었습니다.
하지만 생각은 여전히​​ 남아있다.
당신은 어떤 종류의 수입 될 것입니다 당신의 프로그램에 헤더 파일의.
>> 또한 차이를 강조 표시 할 의 printf와의 NSLog 사이.
그러나, 우리가 이전에 말했듯이, 오브젝티브-C 엄격한 슈퍼 세트입니다
printf의 존재를 의미합니다 C, 오브젝티브-C에서,도.
그러나, 대부분의 사람들은 사용하지 마십시오.
대부분의 사람들은이의 NSLog를 사용하여 그것 때문에 당신에게 시간 스탬프를 제공하고, 우리는 볼 수 있습니다
그 이후 행동.
그러나, 일반적으로보다 유용 변수를 인쇄하는 방법.
>> 그리고 또한 그것을 강조 표시 할 의 NSLog은 동일에 소요
자리 값의 printf와는 달리 -
그래서 % d이 (가) INT입니다, %의 F는 부동입니다.
그러나, 나는 강조 싶어 이 마지막 한 -
기호의 NSLog의 % -
그 객체에 대한 자리 표시 자입니다.
그리고 이전, 오브젝티브-C의 특가 말했듯 거의 대부분의 개체에,
시 등이 사용에 올 것이다 아마도, 아마도, 인쇄 할
있는 NSArray 또는 NSDictionary에, 또는있는 NSString.
>> 그래서, 또한, 우리의 NSLog에서, 그 통지 문, 우리는 앞의 기호에이
인용 -
즉, 지금, 그 문자열을 의미하는 것입니다 오브젝티브-C의 개체입니다.
그들은 더 이상 단순히 문자 별 없습니다.
그들은 개체이고 있습니다 등의 처리.
>> 그래서, 정말 중요하다고 할 때 당신의 NSLog를 사용 그것은 NS에 소요
문자열, 이는 당신이해야합니다 것을 의미합니다 앞의시를 포함하도록
인용 부호.
당신이 모든에 여기를 참조 이유입니다 내 함수는 I,이의 NSLog 호출
, 따옴표 앞의이도 % D와 % f를의의는 있지만
C.에서 모두 같은
>> 질문 지금까지?
나는이 이렇게 빨리 통과하려고합니다 우리는 일에 더 많은 시간을 가질 수
엑스 코드와 오브젝티브-C와, 너무 너희들은 더 많은 것을 얻을 수 있다는 것을
잘 알고.
>> 다음으로, 무언가를 강조 할 개념적으로 중요합니다.
그래서, C, 대부분의 일들이 함수입니다.
우리는 함수 호출을 확인합니다.
우리는 함께 기능이 방법을 선언 반환 후, 첫 번째 유형
함수 이름, 괄호 다음 어떤 인수 및 유형
우리가 안으로 전달하려는 이러한 인수
그리고 오브젝티브-C, 때문에 모든 개체 또는 클래스입니다 -
그래서 클래스와 객체는 두 용어 것을 서로 거의 동의어
그래서 교환을 사용할 수 있습니다 세미나를 통해.
>> 그러나, 당신은 우리가 방법에있는이 것을 볼 수 있습니다 오브젝티브-C보다는 기능.
그리고 방법은 개체에 속한다.
그래서 그냥, 어쩌면 걸릴 예를 들어, 노드 -
우리 형 [청취]
PSET 6 또는 5에서 노드 -
우리는 단어, 속성이 또는 다음 노드 포인터.
방법은 간단하게 내부 함수입니다 구조의 일종.
>> 그래서,이 경우에는 구조가 될 개체는 다음 방법은
개체에 속해 뭔가.
그리고 이것은 당신이 선언하는 방법입니다, 종류의, 방법에 관한 것이다.
당신은 다시 반환과 함께 시작합니다 유형 - 그래서, 나는 색상에 노력
여기에서 핵심 단어를 코딩하는이 남자 적어도, 서식을 볼 수 있습니다
기능 사이의 유사성 선언 및 메서드 선언.
그래서, 당신은 반환, 당신이 알고, 시작 분류 -이 경우는 배열, 또는
NSArray를 포인터 -
다음은이 방법이 있습니다.
그리고, 무엇을 여기에서 흥미로운 것은 대신 괄호를 갖는, 우리
이러한 콜론이 있습니다.
그리고, 우리의 인수의 앞에, 우리 괄호 안에 다시 넣어 유형
우리의 인수.
>> 그래서, 지금은 수 있도록 노력하고있어 당신이 알고있는, N과,의 비교
수, 그들은이기 때문에 같은 정수 모두.
그리고, 다른 하나의 NSUInteger 유형입니다.
그리고, 오브젝티브-C와, 때 당신에게 여러 인수를 갖고 싶어
당신의 방법 절, 당신, 종류의, 종류의이 같은 그들을 분리 -
나는 그것을 설명하는 방법을 잘 모르겠지만, 하지만이 방법을 당신의 좋은 예입니다
거기에 여러 인수를 가질 수 있습니다.
>> 당신은, 물론, 그냥 완전히 할 수 andArray 콜론을 무시 NSArray를
당신은 방법을 원하는 배열하는 경우 즉, 하나의 인수에 소요됩니다.
네, 질문입니다.
>> 청중 : NSUInteger 모두가요 촬영 할 수있는 NSArray 인수
NSArray를 내?
>> RHED SHI : 예.
그래서, 내가 설명 할 수 있습니다.
그래서, 예.
그래서, 질문이되었다 NSUInteger하고 인수를 NSArray * 유형
그 맞습니다.
그래서, 당신은 항상 무엇을 지정하려면 당신의 인수의 유형입니다.
그리고 여기, 당신을 소개하려고 해요 의 구문과 개 단어의 일부
오브젝티브-C, 그래서 사람들은 실제 유형입니다 당신이 처리 할 거라고.
>> 그리고 당신은 알 수로, 배열 , 종류의, 더 이상 없습니다
간단한 브래킷 가지.
그들은 개체입니다.
비록, 우리는 다음에 가면 슬라이드, 우리가 볼 수있는 우리가 할 수있는 그
하드 코드 오브젝티브-C에서 NSArray를 앞에 단순히에서 기호
괄호.
나는 여부 실제로, 아주 확실하지 않다 나는 구문 배열을 하드 코딩
올바르게 C 버전,하지만 그건 C 배열에 있어야.
>> 그래서, 당신이, 당신이 알고하는 방법입니다, 아마도 함수를 사용하거나
우리가 이전에 만든 방법.
오른쪽?
우리가 선언하는 곳 이예요 우리 기능과 우리의 방법.
그리고 지금 우리는 그들을 사용하려면 우리의 프로그램은,이입니다
우리는 그것을 수행하는 방법.
그래서, C, 당신은, 당신은 알고있을 것입니다 아마도, 부울 B, 당신은으로 설정
다음 함수와 동일하고, 당신은 인수를 전달합니다.
>> 오브젝티브-C에서는, 예쁘다 거의 같은 것.
당신은있는 NSArray *의 my_array 배열을 가지고 있고, 그것은이다 지금 만 - 동일하게 진행
여기에 차이가이 개체의 것입니다, 어느 I가 노란색으로 강조하고, 한
당신이 볼 수 있듯이, C에서, 거기에 다른 노란색 단어가 없습니다.
방법이 속한 나죠 특정 객체.
내가 개체가 필요 이유야 즉, 종류의,에,이 메소드를 호출
다음은 제로, 그리고 NSArray를 A, B, C, D.
질문 있는가?
>> 우리는 행동에 이러한 개념을 볼 수 있습니다 곧 우리가 데모에 갈 때.
OK.
지금, 나는 짧게 조금 얘기하고 싶어 입니다 엑스 코드 5에 대한
통합 개발 환경 당신과 함께 일하게 될 거라고.
나는 당신을 많이 알고, 또는 당신의 일부 문제가 맥을 가지고 있지 않습니다
엑스 코드는 사용할 수 없기 때문에 Windows 및 PC 용.
왜, 그러나 아마 저를 묻지 마세요 -
그래, 기업.
뭐든간에.
어쨌든, 그래서, 제가 사과를 몇 가지의 경우 당신은 어떤 종류의를 다운로드해야합니까
맥을위한 가상 머신 엑스 코드 5를 실행하려면.
하지만 꽤 멋진입니다 사용하는 소프트웨어.
>> 그리고, 이전에 우리는 어떤 종류로 다이빙 데모, 나는 당신을 보여주고 싶어
엑스 코드가있는 모습의 사진을 당신의 창하고도 이야기
이 모든 공간은 무엇인지.
그래서, 그것은 종류의 학습처럼 방법 당신이 원하는을 제외하고, Microsoft Word를 사용
모두와 친숙 얻을 다른 일이
여기에 갈 수 있습니다.
>> 그래서 일단, 난 당신을 가리 키도록 할 맨 위에있는 도구 모음에.
당신은 상단에, 그것을 볼 수 있습니다, 당신은 파일 이름이 있습니다 -
또는, 실제로 프로젝트 이름 다음 파일 이름을 지정합니다.
놀이의 메모를 가지고 정지 버튼.
사람들은 당신이있을거야 것들 에 응용 프로그램을 실행하는 데 사용
시뮬레이터 -
아이폰 OS 시뮬레이터.
이것은 자동으로 엑스 코드 5와 함께 제공 그래서 당신에 대해 걱정할 필요가 없습니다
시뮬레이터의 어떤 종류를 다운로드.
당신은 플레이를 눌러 다음은 응용 프로그램을 실행합니다.
그리고 당신은 당신과 함께 놀러 및 수 당신이 나중에 어떻게 작동하는지 볼 수 있습니다.
>> 그리고, 중앙에 물론이다 여기서 당신의 아름다운 모든 코드는
갈.
그리고 그 후, 왼쪽에하면 거 이것을 가지고, 일종의, 폴더 -
탐색 -
다음, 당신은 또한 함께, 그를 볼 수 있습니다 폴더 아이콘으로,이 있습니다
거기에 다른 아이콘의 무리가 나중에 도움이 될 것입니다.
>> 그리고, 우측 유틸리티입니다 당신과 함께 작업 할 수 있습니다 영역
일부 개체, 당신을 지정 알다시피, 색상이 있어야 할 무엇, 무엇을
텍스트 글꼴 등등이어야한다.
당신이하는 모든 일, 비록 유틸리티 영역에서, 당신은 할 수
뿐만 아니라 코드에서 않습니다.
그래서, 나는 두 가지를 통해 갈 것 에서, 단순히 어떤 코드를 사용하지 않는 예
모든 - 또는 아주 최소한의 코드 -
모든 코드 구절, 그냥이 남자 당신이과에서 할 수있는 것과 할 수없는 것을 알고
엑스 코드와 오브젝티브-C.
>> 그리고, 마지막으로, 아래로 바닥에, 당신은 디버그 공간이 있습니다.
그래서, 당신은 더 이상, GDB를 실행할 필요가 없습니다 기타 등등, 프로그램에.
그것은 자동으로 당신을 위해 그것을 않습니다.
그리고 당신은 또한 인쇄 할 수 있습니다 이 지역에 물건.
그래서 실제로, 나중에, 우리는 갈 거에요 mario.c, 너희들은 아직도 기억한다면
즉, 엑스 코드에서.
그래서 재미 있어야한다.
>> 그리고, 단지 그것을 돌려 보내야 오브젝티브-C, 내가 강조하고 싶은
당신은 if 문으로 할 수 있습니다.
오브젝티브-C이기 때문에 그래서, 당신은 알고있다 C의 수퍼 셋, 당신은 모든 일이며,
C. 당신 같은 문자, 같은 단지 약간의 차이가있다.
그래서, 당신은 만약에 양식을 알 수 있습니다 문은 여전히​​ 동일합니다 - 당신은이
당신은 괄호가 다음 경우 및 내부 상태, 그 다음
당신이 무엇을위한 중괄호 이 내부 싶다.
>> 그러나, 나는이 슬라이드를 위로하고 싶었다 여기에, 단순히 설명하기 위해,
우리는 이제 개체를 다루고 있기 때문에 우리는이 일을 사용해야합니다
같은라는 문자열에 해당되는 의이다, 우연히 방법
문자열 또는있는 NSString 객체.
따라서, 단어가,이 경우, 수 NSString이며 개체 및 그 불리는 방법을 가지고
문자열에 해당하고, 그 때 우리는 통과하고 볼 수있는 하드 코딩 된 문자열
사람들이 같은지 여부를 서로.
>> 질문 지금까지?
OK.
그리고, 나는에 가고 싶어 또한 문.
>> 따라서 예를 들어, 우리가 원하는 경우 루프 C에서 문자열의 길이에,이
당신에 대해 잘 알고 있어야합니다.
그리고, 오브젝티브-C에, 내가 원하는거야 , 종류의,이 강조
방법 조사했다.
음, 사실, 나에게하자 그냥 다시 가져 가라.
카운트는 배열 방법이다.
그러나,보다 구체적으로의 정보 왜이다 배열의 속성
점 표기법을 사용할 수 있습니다.
그러나 나는 너무 많이 들어갈 싶지 않아 이 개념의 물건, 난 그냥 원하는
가지 모양을하는 방법을 보여 같은 C. 대 목표-C에
>> 그리고 또한, 내가 지적하고 싶은 않는 나는 NSUInteger을 사용하고있다하더라도
오브젝티브-C에있는 나의 내가 년대의 앞에, INT이기 때문에 당신은 또한, INT를 사용할 수 있습니다
오브젝티브-C에서 완전히 유효한, 또한.
예?
>> 청중 : 그냥가요 문체, 또는이다 -
>> RHED SHI : 네.
그래서, 당신은 볼 수로 -
그래서, 질문은했다 단지 문체의 문제를 해결합니다.
앞으로 살펴 보 겠지만, 나는, 종류의, 별이 별표 아래로 아래에있는 것, 그리고
해당 링크는 스택 오버플로 이동 누군가가 설명하는, 즉,
의 int의 차이 NSInteger와 NSUInteger.
그래서, 당신은 대략 나중에 읽을 수 있습니다.
이 슬라이드는 물론이 될 것입니다, 사용 가능한.
>> 보자.
OK, 끝내.
그래서,이 또한 슬라이드에 포함되어 있습니다 나는 이것이 좋은 생각 때문에
을 소개 웹 사이트 오브젝티브-C 구문.
그래서, 실제로, 왜 우리는 이동하지 않는다 크롬이 웹 사이트를 체크 아웃?
>> 오른쪽.
그래서, 난 당신을 보여주고 싶어 여기에 사람이 이미지입니다.
그래서,이, 종류의, 될 것입니다 무엇 당신은 어떤의 내부를 볼거야
엑스 코드 파일입니다.
사실, 왜 우리는 단지을지지 않습니다 , 종류의, 안으로이 걸리는 순간
>> 그래서,이 책 -
즉, 오브젝트의 그 우리가 상대하고.
그리고, 그것은 분명있을거야 다른 개체에서 상속하지만,
당신은 그것에 대해 걱정할 필요가 없습니다.
그리고, 그것은 아마도 가지고 일부 멤버 변수.
>> 내가 보여주고 싶은 중요한 것은 여기에 인스턴스 방법입니다.
그래서, 예를 방법이 표시된다 이 마이너스로.
당신이 알 수로 그리고, 우린 이미 패러다임을보기 시작
메소드 선언, 오른쪽?
반환 형식, 메서드 이름, 그리고 다음 인수의 유형 및
다음 인수의 이름입니다.
그리고이 마이너스 부호는 것을 의미 인스턴스 메서드하는 것을 의미한다
이러한 방법 만 사용할 수 있습니다 인스턴스화 된 개체.
>> 더하기와 그 대비하려면 방법 그들 앞에서 서명 클래스입니다
방법, 이는 호출 할 수 있음을 의미 이러한 방법도 가지고 있지 않은 경우
객체가 아직 생성.
따라서, 명확한 예를 들어, 있는 NSString은 클래스입니다.
그리고 당신은 예를 들어, 호출 할 수 있습니다, 있는 NSString에 클래스 메소드 -
실제, 같은 단어있는 NSString.
>> 그러나, 순서대로 사용하기 방법, 당신이 실제로
문자열을 작성해야합니다.
예를 들어,있는 NSString 스타 문자열은 동일 따옴표에, 안녕하세요.
그리고, 당신은이 방법을 사용할 수 있습니다 -
인스턴스 메서드 -
그 헬로 세계 문자열에.
그래서, 그 차이의 인스턴스 메소드와 클래스 메소드.
>> 그리고, 우리는 바로이 부​​분에 덮여있다.
속성은 다른 것입니다 객체의 내부, 기본적으로.
그리고 당신은 그들을 선언 property 키워드에.
현재, 이러한 옵션이 있습니다, 때 나중에 설명 할 것이다 것을
우리는 데모로 이동합니다.
예?
안녕하세요.
>> 청중 : 당신이, 제발 확대 있을까요?
>> RHED SHI : 아, 네.
미안 해요.
>> 청중 : 감사합니다.
>> RHED SHI : 그건 더 많이해야한다.
>> 청중 : 네.
감사합니다.
>> RHED SHI : 네, 저를 생각 나게하십시오 경우 나는 확대 또는 축소하는 것을 잊지.
그래서, 내가 원하는 모든 것입니다 당신을 보여 -
와우, 너무 많아 -
이 웹 사이트에 대한.
자, 다시 우리의 슬라이드에 가자.
>> 사실, 지금의이 순간을 봅시다 데모로 다이빙.
그래서, 우리는 함께 시작합니다 새 Xcode 프로젝트.
그래서, 당신은 모두에 엑스 코드가 열릴 경우 당신의 컴퓨터는, 당신에게 몇 가지를 취해야한다
그것은 같은 오픈하거나, 해당 페이지에 위치 까지 기존 프로젝트 또는 새
프로젝트, 당신은해야 새 프로젝트를 클릭합니다.
그리고, 그것은해야 이 화면으로.
예?
>> 청중 : 우리는 맥이없는 경우, 우리는 단지 종류의 진정합니까?
>> RHED SHI : 또는 볼 사람과, 그래.
그래.
여러분은 진정 할 수 있습니다.
OK.
>> 그래서, 우리가 먼저 할 거 야하는 것은, 실제로, 우리는 할 거 야한다
하나의보기 응용 프로그램입니다.
당신이 알 수 있다면, 무슨 일이 좋아요 엑스 코드와 애플의 지원에 대한
개발자는 많이 가지고있다 이미 작업을하는 템플릿.
당신은, 예를 들어, 만들 수 마스터 - 세부 응용 프로그램입니다.
당신은 게임을 할 수 있습니다 -
실제로, 나는 게임에 가지 않을 것이다, 게임은 다른 이야기이기 때문에
아이폰 OS 개발.
그리고 그들은 종류의, 분리하고 그래서 나는 그것으로 가지 않을 것이다.
>> 그렇다면, 당신은 페이지 기반이 응용 프로그램.
당신은 탭 응용 프로그램이 있습니다 -
그래서 예를 들어, 좋아하는, 미국의 은행 아마, 같은 탭 앱이 있습니다.
그것은 당신이 사람이야 하단의 버튼입니다.
그리고, 당신은 스프 키트 게임이있다.
>> 아니면, 처음부터 작업 할 수 나중에 무엇을 할 거 야입니다.
그러나하자, 처음, 시작 단일 뷰 응용 프로그램입니다.
그런 다음 제품 이름을 요청할 것입니다, 그리고 우리는 단지 테스트를 수행 할 수 있습니다.
조직 이름 -
그래서, 조직 이름, 회사 식별자 -
당신이려고하는 경우에 사람들은 중요하다 앱 스토어에 앱을 넣어.
그 외에는, 귀하의 코드는 것입니다 이없이 절대적으로 잘 실행.
>> 이 중요 할 것입니다 만약에 당신 원하는 - 그래서, 그 자체처럼, 앱을 넣어
전화 또는 뭔가, 테스트 상 그 중, 당신이 알고, 실제 생활에서 -
이 중요 할 것이다.
이것은 일반적으로 연관되는 경향 개발자 계정의 일종
애플.
>> 그래서, 나는, 아마도 당신을 많이 알고 모든 개발자 계정이없는 것입니다.
나는 대학이 하나가 알고있다.
나는 CS가 하나있다 생각합니다.
그러나, 당신은 저를 이메일을 보낼 수 있고 볼게요 당신을 위해 그것을 알아낼.
하지만 지금은, 난 그냥 보냈던 여기에 몇 가지 틀 가지.
>> 그리고 당신은, 물론, 여기에서 선택할 수 있습니다 당신은 전적으로 될 것인지
아이폰, 아이 패드, 또는 둘 다 -
범용.
그래서, 지금은 단지의 보편적하자 플랫폼의 양면을 보려면.
>> 보자.
그래서 지금, 내가 저장거야 그 폴더의 어떤 종류의.
여기서 중요하지 않습니다 - 당신을 나중에 언제든지 이동할 수 있습니다.
그리고 지금, 우리는 이동됩니다 우리의 Xcode 프로젝트에.
나는이 모든 걱정하지 않을 것입니다.
나는 중 하나를 터치하지 제안 이, 당신이 알고하지 않는 한 정확히
당신은하고 있어요.
그래서,이 모든, 그냥 무시 대부분의 경우.
당신은 그것을 만질 필요하고, 경우에 없습니다 여기에 몇 가지 일을 엉망을 수행, 그것은
조금 까다로운 가져옵니다.
>> 그럼, 왜 우리는에 보이지 않는 의 파일
네비게이터의 왼쪽 편.
여기, 우리는 AppDelegate.h있다.
우리는 AppDelegate.m 그래서이 당신​​ 겠지만 통지, 우리는 파일을, 헤더이있는
도트 시간에 종료, 그리고 우리는 구현 -
실제로, 저를 확대하자
OK.
저를 확대하자
>> 마우스 오른쪽 단추로, 그래서 당신은 헤더 파일과 한 당신은 실행 파일이 있습니다.
사실 -
OK.
이것은 조금 이상한 하지만 나와 함께 곰.
그런 다음, 때문에 우리는 하나의보기를 선택했습니다 응용 프로그램, 우리가 될 것입니다
스토리 보드 작업.
>> 그래서, 스토리 보드 뭔가입니다 애플 정말 도움이하기에 도달했습니다
개발자는 신속하게 프로토 타입 자신의 응용 프로그램.
만들 수있는 곳 이예요 를 작성하지 않고 응용 프로그램
코드 한 줄.
그러나, 우리의 하나의보기 응용 프로그램에서, 우리는 물론,해야합니까
우리의보기에 어떤 파일 뷰 컨트롤러입니다.
그래서, 우리는 헤더를 가지고 여기 구현 파일.
>> 그리고, 지금은 축소거야 때문에 우리는 스토리 보드에서 작동해야합니다.
그래서, 여기에 우리의 관점입니다.
우리 경우, 간단하게,, 지금 응용 프로그램을 실행 가는 많은 흥미가 아니다.
그래서, 당신은이 흰색 화면을 볼 수 있습니다.
OK?
>> 그리고, 우리의 유틸리티 영역에서, 우리는 추가 할 수 있습니다 거기에 여러 가지 무리.
그래서, 당신은 화면을 처리 할 때 이오스, 뷰 컨트롤러가 있습니다
캡슐화 객체, 종류의, 귀하의 의견.
그래서, 뷰 컨트롤러는 항상 보기 속성을 촉구했다.
그리고보기는 일반적으로 포함 당신은 알고, 무엇을
화면에 표시합니다.
>> 그래서, 음, 그냥 넣어 시작하자, 아마, 어쩌면 레이블입니다.
그래서, 거기에 라벨을 만들어 보자 -
중간에 스틱.
그래서, 지금 난, 라벨에 클릭했는지 속성 관리자에 갈 수 있습니다
그 값을 변경 시작합니다.
의는 CS50 색상을 부르 자.
>> 그리고, 나 또한 글꼴을 변경할 수 있습니다.
대신에 시스템을 수행 그래서, 어떤 기본적으로, 우리는 사용자 정의 하나를 수행 할 수 있습니다.
우리는 변경할 수 있습니다 -
당신도 알다시피, 초경량, 그것은 32합니다.
그리고, 우리는 우리의 상자가 큰 만들 수 있습니다.
>> 청중 : 당신은 당신이 확대 할 수 있습니다 생각하십니까 조금 더에, 아마?
>> RHED SHI : 그래?
OK.
>> 청중 : 그냥 가볍게?
>> RHED 삼성 중공업 : 보자.
이 일을합니까?
>> 청중 : 그냥 엑스 코드를 전달?
>> RHED SHI : 물론.
OK.
신난다.
>> 대상 : 아래의 레이블?
레이블?
>> RHED SHI : 저게 뭐죠?
>> 청중 : 무엇 드롭 다운 아래의 레이블인가?
>> RHED SHI : 그래서, 문제는 무엇인지 드롭 다운은 아래의 레이블인가?
그것은 단순히 여기에서해야한다.
나는 큐브 것 같아요.
그러나 일반적으로,이 값이 기본값입니다 -
난 그냥 여기 아래로 갈거야 나는 레이블을 찾을 때까지.
그래.
>> 그래서 지금, 우리는 우리의 레이블이.
현실을 중심 보자.
그리고 엑스 코드는 우리에게 지침을 제공합니다 객체를 중심하십시오.
자, 이제 다시 우리의 코드를 실행할 수 있습니다.
>> 거기 우리는 간다.
그래서, 우리는 CS50 색상이있다.
그리고 이제, 버튼을 만들어 보자 거기에, 오른쪽?
우리가 만들고 싶어하기 때문에 이 대화 형.
그래서, 여기에 버튼을 만들어 보자.
그리고 우리는 여기에서이 버튼 "탭을 부를 것 계속. "우리는 또한, 가운데에 있습니다
사실, 이미 중앙에있어.
그래.
>> 그래서, 지금 우리는 버튼이 있습니다.
우리가 다시 실행하면, 우리는거야 여기에 좋은 작은 버튼이 있습니다.
그리고 나는 그것을 클릭 할 수 있지만하지 않습니다 무엇이든, 우리가하지 않은 때문에
아직 버튼으로 아무것도.
>> 그래서, 좋아, 다른보기를 만들 수?
그래서, 탭하려는의 말을하자 그 버튼 내가 원하는
다른 페이지로 이동 -
다른보기.
내가 할거야 것은, 내가 만들 수 있습니다 보기 컨트롤러, 오른쪽?
지금은 내 버튼을 클릭 한 다음, 수 있습니다 중요한 것은 내가에 갈거야,입니다
클릭 - 또는 -
예, 키보드의 키를 눌러 제어 할 수 있습니다.
제어.
버튼을 클릭하고 드래그합니다.
>> 따라서, 컨트롤 키를 누른 기억.
의 한번 더 해요.
따라서, 컨트롤을 클릭 한 채로 드래그 당신이 원하는 무엇을.
OK.
>> 그리고 지금, 여기 몇 가지 옵션이 있습니다.
나도 할 수 넣거나, 내가 할 수 있습니다 모달, 아니면 사용자 정의 할 수 있습니다.
푸시는 경우에만입니다 탐색 컨트롤러.
바로 지금, 우리의 첫 번째보기 컨트롤러는 내부에없는
탐색 컨트롤러.
따라서, 네비게이션 컨트롤러는 하나입니다 그것은 당신에게 다시 버튼을 제공합니다
당신이 가지고있는 아이폰 OS 응용 프로그램은, 당신은 알고있다, 그 위에, 종류의, 두꺼운 바 -
돌아가서, 또는 수 앞으로, 등등.
지금, 그이 없습니다.
내가 푸시 할 수없는 이유를 그리고, 그건.
>> 그래서, 푸시에 클릭 실수로, 여기.
실제로,의 코드를 실행할 수 있도록, 그것은 나에 충돌한다.
내가 버튼을 누를 경우에만 하지만, 이렇게 -
권리.
그래서,이 나쁘다.
>> 그리고, 당신은 여기에서 볼 수 있듯이 우리 오류 메시지가 있습니다.
그래서, "푸시 segues에만 사용할 수 있습니다 때 소스 컨트롤러에 의해 관리되는
UI 내비게이션 컨트롤러의 인스턴스. " 그래서,이 내부에 없기 때문에
탐색 컨트롤러, 나는 그렇게 할 수 없었다.
>> 그래서 지금, 나는 다시 갈거야 폴더, 다시 스토리로 돌아가.
>> 청중 : 탐색이란 컨트롤러, 다시?
>> RHED SHI : 그래서, 지금 당신을 보여줄 것이다.
보자.
그래서,이보기를 클릭거야 컨트롤러, 그리고 난 갈거야
제품까지 -
실제로, 아니, 죄송합니다 - 편집자.
그리고 난에 갈거야 -
실제로, 나는 그것을 클릭 했습니까?
아니오.
거기 우리는 간다.
내가 편집기에 올라갈거야, 아래로 이동 에 포함하고 탐색하기
컨트롤러.
>> OK.
그리고, 내 작업 공간은 정말 더러워 보인다 그래서이 정리하자.
그래서,이 모든 스토리 보드입니다.
그리고이 방법으로 -
OK, 중지 -
나는 빨리 뭔가를 구축 할 수 있습니다 이있다.
그리고, 지금은 돌아갈 수 있습니다, 당신은 알아?
>> 그러나, 오른쪽 종류의 지루?
그래서 내가하고 싶은 일, 내가 원하지 않는된다 , 단지,보기를 만들려면
컨트롤러.
이제 실제로 확인하고 싶었 가정 해 봅시다 테이블 뷰 컨트롤러, 그래서 넣을 수 있습니다
테이블에 멋진 색상.
>> 그래서, 지금 내 테이블보기에 넣어했다고 컨트롤러, 다시 연결해야
이 버튼의에 뷰 컨트롤러.
그래서 난 내 제어를 할 필요가, 클릭, 드래그 것은 다시.
내가 포함하기 때문에 지금은, 푸시 할 수 있습니다 그것은 탐색 컨트롤러의 내부.
>> 청중 : 네비게이션 컨트롤러 단지 당신이 이곳 저곳으로 이동 할 수 있습니다?
>> RHED SHI : 예.
그래서, 기술적으로, 그것은의 객체 위치 -
그래서, 탐색의 내부 컨트롤러 개체, 그것은
배열을 추적합니다.
그리고 그 배열은 이후의 모든 보유 컨트롤러를 볼 수 있습니다.
다시 누르면 이유는,의 IT 이전 페이지로 이동합니다.
때문에 탐색 컨트롤러 개체 또는 돌봐 코드
이 개체는 유지 배열을 가지고 이러한 뷰 컨트롤러의 추적하고,
다음, 당신도 알다시피,보기를 DQ 수 컨트롤러와 당신을 돌려 줄
이전.
>> 그래서,이 기술 물건입니다 만 -
내가 나중에 보여 줄게 코드, 우리가 시간이 있다면.
나는 종류의 시간에 밖으로 실행 만 해요 -
>> 따라서, 테이블 뷰, 우리가 할 수있는 것은 -
그것은 일반적으로 자동으로 설정되어 동적 프로토 타입 -
우리는 정적 셀 만들 것입니다, 그렇지 않으면 우리는 갈거야
몇 가지 문제로 실행합니다.
>> 그리고, 이제 내가 갈거야 가정 해 봅시다 하나의 섹션이 있습니다.
그래서, 섹션처럼 -
혹시 음악 프로그램을 본 적이 있다면, 때 당신은 예술가, 섹션을드립니다
의 Z's를 통해 할 수 -
편지 -
다음, 당신이 알고, 개별 행은 아티스트 이름 일 것입니다.
그리고, 무엇을 여기에 멋진 것은,이다 내가 할 수있는 그 내부의 모든 개체에 액세스
이를 통해 내 스토리 보드 드롭 다운 메뉴를,도.
>> 그래서, 난 내 섹션을 클릭거야, 나는, 당신은 알고있다, 어쩌면 다섯 개의 행을 원한다.
그리고, 각 행의 내부 나는 라벨을 부착 할.
그리고이 블루를 호출하는거야.
그리고, 당신은, UI 뷰를 넣을 어쩌면 작은 상자 같은,에, 알고있다.
>> 나는 사람들을 표시 할 수 있도록 칼라의 프리뷰.
그리고 다시 속성에 갈 수 있습니다 오, 내가 모르는 그 색상을 변경합니다
이 하나를 알고있다.
>> 그리고, 내가있을 때, 여기에서 또한 주목 액세서리, 내가 많이 할 수 있습니다
다른 액세서리 당신은 일반적으로 볼 수있다.
공개 표시, 세부 사항, 또는 표시를 확인, 또는 단순히 그냥 세부 사항.
그래서, 어쩌면 우리는, 같은, 공개 할 수 표시, 예를 들어.
>> 그리고, 왜 우리는이, 사본을하지 않습니다 을 붙여에 넣어
다음 테이블 행.
그래서, 우리는이 경고를 호출 할 수 있습니다.
그리고이를 확장해야 할 수도 있습니다.
의는 노란색으로 만들어 보자.
그리고 이러한 방법으로, 우리는 복사 할 수 있습니다 우리의 방법을 아래에 붙여 넣습니다.
무슨 일이에요?
보라색.
>> 따라서, 이러한 모든 일반적인 CS50 있습니다 당신이 수업 시간에 본 적이 색상 -
실제로, 죄송합니다 -
또는 웹 사이트에.
바라 건데 너희들을 볼 수 있습니다 난 여기서 뭘하는지.
OK.
마지막 하나.
>> 청중 : 당신은 어떻게 추가 않았다 처음에 행?
>> RHED SHI : 그래서, 질문이었다 방법 나는 처음에 행을 추가 했습니까?
나는이 테이블 섹션에 들어갔다 - 또는 그러나 내가 할 수있는
테이블 섹션을 선택합니다 -
다음, 여기, 내가 업데이트 행의 수.
>> 그리고, 내가이 작품 희망하자.
OK.
이 작동하는지 보자.
아, 완벽한, 굉장한.
OK.
나는 데모, 일부을 구축하는 동안 것들에 대한 감사를 정렬, 그렇게되지 않았다
박수.
>> 그래.
자, 보자.
우리는이 아홉 단지하게 만들거야 모든 - 또는 실제로,하자 그냥
공시에이 모든 설정 지표.
그리고, 나도 당신을 보여주고 싶은 것을, 내가 그 각각을 할 수있는 방법이었다
표 행과 그 상호 작용이 -
오.
아니오.
>> 오.
또한, 나는 당신을 보여주고 싶어 -
여기에, 나는 제목을 넣을 수 있습니다 내 탐색 컨트롤러, 오른쪽?
그래서 실제로, 당신은 가능한 한 빨리, 알 수 있습니다 I 안쪽이보기 컨트롤러를 내장
탐색 컨트롤러, 우리는 참조 우리의 상단에이 네비게이션 바
스토리 보드 표현 뷰 컨트롤러의.
그래서,이, 같은 시각을 우리에게주는 종류의, 우리의 눈에 보이는 화면으로 안내합니다.
이것은 분명히 예정 탐색 막대합니다.
>> 그리고 내가 빨리하고 싶은, 지금, 또 다른에 넣어 -
내가 한 짓 때문에이 테이블 뷰 컨트롤러 이들 중 하나를 복용하고 드래그
여기에, 그것은 나에게 허용 된 일이지 신속하게, 정말, 테이블보기를 만들
컨트롤러.
우리가 비록 시간이 경우에, 당신은거야 그 참조, 프로그래밍, 그것은이다
테이블을 만들 수있는 더 까다로운 조금 뷰 컨트롤러, 때문에이
메소드와의 커플 당신이 종류의, 작성에 필요한
테이블 뷰의 순서로 컨트롤러가 올바르게 표시합니다.
>> 그러나, 나는 그냥, 지금, 당신을 보여주고 싶어 나는이 걸릴 경우, 여기서의 예를 들어,
예를 들어 -
나는 또 다른보기 컨트롤러에 넣었습니다.
그리고 지금의 내가 제어 할 가정 해 봅시다 내 최초의 블루 ALT
여기까지 테이블 행.
그리고이 블루를 호출 할.
그리고 -
보자.
지금보기에있어, 나는 변경할 수 있습니다 파란색 배경.
>> 그리고, 통지, 여기,이 드롭 다운 메뉴는 또한 당신에게 모든 계층 구조를 제공합니다
이러한 개체의.
그래서 중요한 것은, 여기에주의해야 입니다 여기에이 모든 -
이 테이블 뷰 컨트롤러, 테이블 보기, 테이블보기 섹션 테이블보기
셀 - 이들 모두는 코드에서 개체.
그래서, 당신이 알고있는, 레이블 지금 아래에 콘텐츠 뷰, 등등.
등등 등등.
>> 그래서, 우리는이 코드를 실행하면, 우리 뭔가를 볼 수 -
이 경우 보자 - 그래.
따라서, 거기에 우리가 간다.
그러나, 우리가 그렇게하지 ​​않으면 없음 이러한 다른 것들 작동합니다.
오른쪽?
이렇게 단지이 하나의 작품.
그리고, 시간을 위해, I 안 할게 퍼팅, 당신이 알고,로 이동
다른 사람 다운.
그리고 이것은의 끝, 종류의, 스토리 보드 -
내가 보여주고 싶었다 무엇 스토리 보드에 대한.
>> 그리고, 나는 밖으로 일 예를 수행 사실, 바로 여기.
그래서,이 스토리 보드이며 나는 이전에 만든.
당신이 볼 수 그래서,이이었다 내 탐색 컨트롤러.
그럼 난 내 첫 번째보기 컨트롤러를했다, 나는 내 테이블 뷰 컨트롤러를했다,
그리고, 나는이 모든 것을 가지고 -
그래서 이전에, 내가 일을했다 매우 다른 뭔가.
그래서, 그 일을 변명.
아마 나중에 그것을 전에 정리합니다 내가 생산에 배웅.
>> 우리가 이것을 실행한다면, 우리는 볼 수 있습니다 모든 옵션이 있다는 것을
우리에게 사용할 수 있습니다.
나는 배경을하지 않았다 제외 그 색.
그래서, 좋은 간단한 응용 프로그램입니다.
>> 이제 해결 해보자 이 프로그램.
OK.
그래서, 그렇게, 우리는 단지거야 새 Xcode 프로젝트를 시작합니다.
우리는 지금 빈 응용 프로그램을 만들 수 있습니다 우리가 갖고 싶어하지 않기 때문에
스토리 보드.
그래서, 단순히 자신을 제한하지 해요 스토리 보드 중 어느 한을 사용
빈 응용 프로그램은하지 않습니다 나에게 스토리 보드를 제공합니다.
이것은 단지 방지하는 것입니다 부정 행위로부터 자신.
보자.
기다립니다.
네 -
예.
OK.
>> 오른쪽.
그래서, 여기, 우리는 남아 있습니다 하지만 다른 코드 아무것도 없다.
그럼,이 창을 이동할 수 약간 이상.
오른쪽.
여기에서 볼 수 있듯이, 파일 만 우리가 제공하고 있습니다 AppDelegate.h 및 점
m, 우리는 필요가 없습니다 더 이상 스토리 보드.
>> 우리는이 작업을 실행하는 경우에, 우리는 여전히 갈거야 흰색 화면에 도착, 하나님 께 감사를드립니다.
OK - 흰색 화면,하지만 아무것도.
그리고, 여기에 중요한 부분입니다.
액션이 일어나는 곳이다.
이전 버전에서는, 거기에 보통 더 여기에 코드 없지만,
스토리 보드는 기본적으로 제공 이 부분에 대한 코드.
나는 방법에 관한 세부 사항에 가지 않을 것이다.
>> 그리고 지금 우리가 원하는 것은 우리가 원하는입니다 이 작은 공간이 여기에 이​​동하고
다시 우리의 응용 프로그램을 만들기 시작합니다.
그래서 -
예?
>> 청중 : 줌?
>> RHED SHI : 줌.
물론, 그래.
OK.
나는 그래서 이것은해야하지, 입력 할 수 있습니다 문제가 너무 많은.
OK.
>> 그래서, 먼저, 우리가 만들고 싶었 기억 탐색 컨트롤러, 오른쪽?
또한, 당신이 볼 수 있듯이, 엑스 코드 의 정말 좋은 일을한다
자기 충전.
그래서, 당신은 알 수로, 이름의 모든 많이 이상하다
평소하지만, 엑스 코드는 당신을 위해 그것을 채 웁니다.
그래서 난 그냥 Enter 키를 누릅니다 수 있습니다.
>> 그래서, UI 탐색을 만들려면 컨트롤러 포인터, 나는 그것을 호출 할 수 있습니다
navigationController.
자, 이제 무엇을해야합니까?
이 등호 후, 먼저, 필요 메모리 내부를 만들 수 있습니다.
그래서, NavigationController을 할거야 할당 -
그래서, 이것은 malloc에​​ 유사하다, 당신 C에 사용되는 사람 -
다음, 나는 그것을 초기화거야.
>> 그래서, 정말 중요합니다 그 어떤 작성 목적은, 당신이 원하는
할당하고 초기화.
그게 만들려고하고 있어요 메모리의 안쪽에 instantialize하고,
지금 당신은 그것을 사용할 수 있습니다.
좋아?
당신이하지 않으면, 당신의 목적은 않습니다 존재, 당신은 무리로 실행됩니다하지
문제.
>> 그리고, 내가 만들 보기 컨트롤러, 오른쪽?
그래서 나는있는 UIViewController를 만들 스타 -
그래서, 모두의 포인터 오브젝티브-C, 내가 할거야
비슷한 여기 -
할당, 초기화.
OK.
>> 그리고 내가 할거야 것은 난입니다 가는 - 우리가 한 때, 기억
탐색 컨트롤러에 임베드?
이 코드에서 그것을 할 방법입니다.
당신은 navigationController을 할거야
pushViewController -
>> 청중 : [청취].
이것은 우리를 위해 발생, 또는 것인가 -?
>> RHED SHI : 오, 그래.
아니오.
그것은 나를 더 좋아한다.
아니, 너무, 당신을 위해 작동합니다.
그래서,이 모든 방법이 있습니다.
그래서 pushViewController는 방법이며, 또한,보다 구체적으로는, 그것의 정보
UI의 인스턴스 메서드 탐색 컨트롤러.
내 UI 탐색을 만들 수 있었기 때문에 컨트롤러 스타, 다음 I
에이 pushViewController를 호출 할 수 있습니다 내 UI 네비게이션의 특정 인스턴스
컨트롤러.
>> 청중 : 우리는 정확한 작업을 수행해야합니까 단어, 또는 이미 존재합니까?
>> RHED SHI : 네, 방법이기 때문에.
이 기능 같아요.
그것은 printf와 같다.
그것은 scanf와 같다.
그것은 strcompare 같다.
그것은 당신이 할 수 있습니다 알고 제외 입력 한 알이 항상 거
것들에 도달 법적으로 당신을 허용했다.
그래서, 아무것도 여기에 표시하지 않는 경우, 다음 뭔가 잘못이다.
>> 그래서, pushViewController.
그래서, 지금은 밀어 원하는 내 새로 만든
UIViewController에, 다음, 애니메이션 -
아마도 없습니다.
이 될 것입니다 때문에 첫 번째보기 컨트롤러.
내가 애니메이션 만들기 않았더라도, 의미 아마, 표시되지 않습니다 때문에
그것은 첫 번째 화면입니다.
>> 그리고 브래킷을 기억한다.
그래서, 우리는 괄호를 사용하는 방법을 기억 하는가?
그리고 괄호 안에, 객체는 메소드에 호출 -
그래서 우리의 목적은 탐색이다 컨트롤러 및 방법은 밀고
뷰 컨트롤러는 애니메이션.
그리고 그것은 두 개의 인수에 소요되는 참조 그들은,, 종류의로 구분하고
말과 콜론.
그래서, 오브젝티브-C는 좋은을 시도합니다 쉽게 당신이 큰 소리로 읽을 수있는 -
코드 - 반을 가지고, 종류의, 이해.
>> 그러나, 바로이 일을 충분하지 않습니다.
내가 지금 축소 할 수 있습니다.
단지 이렇게하면 충분하지 않습니다 우리가 이전에 도착하세요.
그래서 여기, 당신이 있다는 것을 알 수 있습니다 실제로 모든 종류의 될 수 없습니다
여기, 바, 맞죠?
내비게이션 바, 수단이 없다 우리는 여전히 그것을 못 했어있다.
>> 그리고 우리는 그것을 테스트 할 수 있습니다, 또한, 별, 아마의 배경을 변경
를 ViewController, 오른쪽?
ViewController.background--
아.
그래서, ViewController에서 가지고 있지 않은 방법을 참조하십시오 배경 색상, 비록 I
액세스하고 싶어?
그리고 그것은 왜냐하면를 ViewController 뷰의 컨테이너입니다.
그래서,,보기 속성을 가지고있는 다음 배경색을 가지고 있습니다.
>> 그리고, 나는 종류의 지루하고, 설정할 수 있습니다, 색상을 호출하여
UIColor 개체.
그래서, 여기에주의 사항, redColor는 방법입니다.
그것은 UIcolor의 클래스 메소드입니다.
나는를 만들 필요가 없습니다 않았기 때문에 순서 UIColor의 실제 예
거기에 메서드를 호출합니다.
난 그냥 단순히 그것을 호출 유형과 같은 이름에.
INT가 있던 경우에 나는, 등,,, INT에 호출 주제, 예를 들어 그것에 방법.
>> 우리가이 코드를 실행하면 그래서, 우리는거야 배경이 있음을 알
실제로 레드 없습니다.
그것은 여전히​​ 흰색입니다.
그리고 어떻게 우리가, 즉 주위에 얻을 수 있습니다 self.window 거기에 방법을 알 수 있습니다.
즉, 같은 궁극적 인 컨테이너입니다 응용 프로그램에 대한.
그것은 포함하는 궁극적 인 것입니다 의 화면에 모든 것을,
아이폰이나 아이 패드 응용 프로그램.
>> 그리고, 편리 self.window 이라는 속성이 있습니다
rootViewController.
그리고 그 포인터가 될 것입니다 내부의 첫 번째보기 컨트롤러
앱의.
그래서, 우리가 여기에서 무엇을하고 싶은지, 지금이다 우리의 탐색에 그 같은 설정하기
컨트롤러.
오른쪽?
기술적으로, 네비게이션, 때문에 컨트롤러는 우리의 첫 번째이다
컨트롤러.
그것은 다른보기의 배열을 추적 컨트롤러, 우리는이를 밀어
그 배열에 뷰 컨트롤러 네비게이션 컨트롤러.
>> 그래서, 당신은이 작업을 수행 할 수 없습니다.
정말 당신을 도울 것입니다.
당신이 원한다면 당신은이 작업을 수행 할 수 탐색 컨트롤러,하는 대부분의
당신은 아마 당신이 원하는 것 때문에의 , 종류의, 어떤 종류의를 가질
같은, 다시 가서 메뉴 또는 일부 오히려보다 뒤로 갈 홈페이지
빈 화면.
예?
>> 청중 : 그것은 불편인가 - 당신은에 확대하기 위해
>> RHED SHI : 네.
그래, 좋아.
이제이 코드이며, 의 그것을 테스트 할 수 있습니다.
>> 따라서, 거기에 우리가 간다.
매직.
그래서 OK.
감사합니다.
OK.
그래서 - 그래서 지금, 우리가 원하는 것은 우리는 종류의 권리, 여기에 제한있어?
우리는 잠재적으로 모든 것을 쓸 수있다 이 하나의 함수의 내부.
하지만, 그 방법을 아이폰 OS 개발이 아니다 일반적으로 작동합니다.
>> 그래서, 우리가 무엇을 할 거 야 우리가있어입니다 새로운 파일을 만들 것.
그러나,보다 구체적으로는, 우리는거야 다른 오브젝티브-C 클래스를 만들거나,
다른 개체 -
클래스와 개체를 교환 할 수있다 여기에.
그리고, 여기에 잠재적으로, 어떻게 내가 할 수있는의, U 컨트롤러의 또 다른 클래스를 만듭니다.
>> 당신이 알 수 있습니다 그래서, 그것은, 서브 클래스의 여기서,은의 서브 클래스의
UI 뷰 컨트롤러,하지만 난 할 수있다 여기에 다른 이름을 부른다.
나는이 CS50를 호출 할 수 있습니다, 내가 부를 수 이 뷰 컨트롤러, 내가 부를 수
이 ㅋ ㅋ보기 컨트롤러 -
내가 원하는 무엇이든.
이 클래스의 이름 만입니다.
그러나, 그것은 중요 할 것 본질적으로, 내가 무엇을하고 있어요, 때문에
여기, 내가 만드는거야 다른 클래스의 이름입니다.
그래서, 일부처럼 될 것 유형 또는 객체의 종류.
그래서, 조금 일반적인해야한다.
그것은 매우 구체적인 않을거야.
>> 또한, I 포인트할까요 이러한 두 가지 옵션 중.
우리는 내부에 최선을 다하고 있기 때문에 코드는, 경우에 따라서는 훨씬 쉽게합니다
있도록, 인터페이스 파일에 가져다 말 그대로 끌어으로 제거 할 수 있습니다
우리는 스토리 보드로 이전 한 -
당신이 알고있는, 라벨 또는 버튼, 또는 그 밖의 무엇이든.
그리고, xibs는 당신을 허용 파일은 당신은 그것을 연결하는이 그렇게하고,
이 뷰 컨트롤러 파일.
>> 그래서, 일부러에 갈거야 이를 확인하지.
보통 나는이를 확인하고, 만약 것 I 단지 나는, 아이폰이나 아이 패드에 이런 짓을
이를 확인하고 간단하게 하나를해야합니다 에 대한, 당신은 아이폰이나 아이 패드를 알고있다.
나는 보편적 인 일을 해요 이후, 나는 갈거야 나중에 그 중 두 가지를 만들 수 있습니다.
그래서, 일부러에 갈거야 이 선택을 취소합니다.
>> 이것은 또한 정말 중요합니다.
많은 시간, 나는 버그를 했어 이것은 확인되지 않은 곳.
그리고, 분명히,이 파일이 아닌, 종류의, 같은, 포함 또는 수입
이 테스트 폴더의 내부.
그래서, 내 코드는 전혀 모르고있다 이 파일의 존재, 그리고
즉, 통증을 많이 일으키는 및 디버깅 시간.
하지만, 그냥 확인이가 그렇게 선택되어 있는지 확인 즉, 당신이 알고, 이것의 목표
파일이 응용 프로그램을위한 것입니다.
>> OK.
그래서, 지금 우리는 두 개의 새 파일을 만들었습니다.
이 파일은 꽤 빈 본다.
그리고, 사실의도 계속하자 XIB 파일을 만들어에.
따라서, 이전에, 내가했다 코코아 터치 드롭 다운.
자, 사용자에 갈거야 인터페이스 터치, 당신은 볼 수, I
스토리 보드를 만들 수 있습니다.
>> 그래서, 심지어는 빈 시작 응용 프로그램을 여전히 사용할 수 있습니다
스토리 보드.
그것은 측면에서 까다로운 얻고 있지만, 연결하려는 방법
당신의 코드.
그래서 나는 거기에 갈 수 없습니다.
>> 그러나, 우리가 무엇을 할 지금보기를 만들 수 있습니다.
그리고 당신을 위해 선택할 수 있습니다 아이폰이나 아이 패드.
그리고 일반적으로 나타 내기 위해 차이 - 만약 당신이 일을하는 경우
범용 -
당신이 밑줄 아이폰을 넣어 하나, 또는 당신은 Twiddly을 수행 할 수 있습니다.
정말 문제가되지 않습니다.
만약 차별화하는 것은 단순히의 정보 보기는하는 장치이다.
>> 그리고, 지금보십시오.
나는 작업을 할 수있는 화면이 있습니다.
그래서, 예를 들어, 내가 라벨을 부착 할 수 있습니다 여기에, 당신은 알고있다, 그리고 나는 또한 넣을 수 있습니다
여기에 또 다른 버튼을 누릅니다.
내가 변화 귀찮게하지 않습니다 여기에 값을 표시합니다.
>> 하지만, 무슨 일이 중요하다의 그 파일의 소유자 -
그래서, 아이폰의 내부 해요 뷰, 아이폰 XIB 파일.
그리고 다운이 탐색 영역 또는 드롭 다운 메뉴를, 나는에 가고 싶어
파일의 소유자.
그리고 이것은 정말 여기에서 중요한 단계.
I 클래스 뷰를 만들려면 컨트롤러,이 XIB 파일이되도록
와 연관 될 예정 내보기 컨트롤러.
그리고 내가보기 안에 할 아무것도 컨트롤러는 프로그램입니다
여기에 반영 될 것.
>> 그래서, 그러나, 알 -
실제로, 이제이 뷰를 만들어 보자 예를 들어 배경 블루,.
또는 녹색.
그리고, 그래서 당신은 뒤쪽에, 알 수있는 경우 우리가 가지고 곳이 코드는, 이것은 우리의
탐색 컨트롤러.
>> 우리는 그 단계를했다하더라도, 그것은의 여전히 녹색, 빨강하지 될 것.
그리고 이유가있다.
우리가 inited는 경우 때문이다 우리의보기 컨트롤러, 여기에 -
죄송합니다, 좀 미친 짓이야 -
우리는 여기에서 우리의보기 컨트롤러를 inited는 경우 우리는 일반적으로 유형을 inited는
UIViewController에.
OK?
그래서 우리는 심지어하지 않았다 이 클래스와 함께.
>> 그래서 이곳은 클래스처럼, 기억하십시오.
다만, 유형으로 간주 될 수있다 있는 UIViewController는 타입으로.
그리고 그것을 사용하기 위해, 무엇을 우리가해야 할 것은 가져올 것입니다 -
가져 오기를 ViewController -
그리고, 당신이 볼 수 있듯이, 나를 위해 그것을 autofills.
그래서, ViewController에서 -
지금, 여기,이를 변경할 수 있습니다 를 ViewController에있는 UIViewController.
그리고 지금, 여기, 내가 바꿀 수 있습니다 이를 ViewController에.
>> 다시 한 번이를 실행하자.
그것은 여전히​​ 빨강이야.
그리고 그것의 이유 여전히 붉은 있기 때문입니다 -
와우, 무슨 일이 일어 났는가?
우리는이 XIB를 연결하는 원 뷰 컨트롤러와 파일.
그러나 실제로 수행하기 위해 즉, 우리는이에 갈 필요가있다.
우리가 초기화 작업을 수행 할 때, 우리는하고 싶은 initWithNibName, 그리고 우리가 원하는
에서 문자열 View_iPhone을, 예를 들어.
현재 번들을 무시할 수 있습니다.
>> 그리고 이것은 허용 할 것입니다 우리 사실에 -
어, 오, 문제가있다.
오른쪽.
>> 그래서, 문제는 거기에있는, 때문에 우리의보기 XIB 파일, 우리는 레이블을 가지고
우리는 버튼이 있습니다.
그러나, 우리는 연결 했는데도 그 두 사람은 내부에 아무것도 없어
ViewController.h 또는 ViewController.m 사람들을 반영하는
버튼이나 그 레이블.
그래서, 우리는 사람들을 작성해야 뷰 컨트롤러의 속성.
>> 그래서,이 선언하는 방법입니다 속성.
그것은 보통의 소요 이 두 가지 옵션을 제공합니다.
우리와이 세미나의 목적을 위해, 나는 일반적으로, 그런 말을
대부분의 속성은 세분화되어 및 유지.
귀하는 Google이 검색하여 읽을 수 있습니다, 당신도 알다시피, 차이
세분화하고, 당신을에 유지 , 구글이나 뭔가를 알고.
그리고 스택처럼,로 여러분을 데려 갈 게요 사람들이있을 것이다 오버플로,
차이에 대한 답변 그 사이에.
하지만 지금은, 그건 우리 관심 싶어요.
>> 그리고 우리는, UI 레이블 별을 만들고 싶어 그리고 우리는 우리가 원하는 그것을 호출 할 수 있습니다.
우리는 당신이 알고, 라벨이를 호출 할 수 있습니다.
그리고, 우리는 서로를 만듭니다 버튼 하나.
별표를 포함하는 것을 기억, 우리는 포인터를 다루고 있기 때문에
거의 모든 곳에서 내부 의 오브젝티브-C.
>> 그러나, 여전히 해결되지 않습니다 여기에서 볼 수있는 문제.
그리고 이유는이기 때문마다 우리 XIB 파일 레이블이나를 연결하려면
프로그램 버튼, 또는 헤더 및 구현 파일, 우리가 원하는
이 코드 조각을 추가 -
콘센트.
이 키워드의 것을 알 수 있습니다.
>> 그리고, 최대한 빨리 입력을 완료로 그 중, 이러한이 있어야합니다
두 개의 원, 여기.
보통, 그들은 채워하지 않을
나는 그들이 왜 확실하지 않다.
그러나 일반적으로, 당신은 수동으로해야합니다 이 측면으로 이동하여 그들을 연결
유틸리티 영역입니다.
>> 그리고 지금, 나는 나의 레이블을 가지고있어 선택, 나는이 새로운 끕니다
내 파일의 소유자에 콘센트를 참조 다음 레이블을 클릭합니다.
그래서 지금, 마지막으로,이 라벨은 이 라벨에 연결.
이 레이블은 우리가 이거 야 변경 프로그램 사용의
텍스트의 글꼴, 그 배경 색상, 등등.
>> 그럼, 왜 우리는하지 않는다 버튼 같은?
그리고 당신은 알 수로, 버튼, 조금 더 복잡합니다.
내 말은, 때문에, 당신은 거 야 버튼을 눌러, 그래서이 많이 있어요
어떻게 사용자를위한 옵션 버튼을 누를 수 있습니다.
그리고, 우리는 나중에 볼 수 있습니다 우리는이를 연결 할 수있는 우리의
그것이 작동되도록하는 코드.
>> 그래서, 지금 비록, 우리는 연결하려는 그것은 실제 버튼
우리의 코드의 내부.
그래서 우리는 새로운 참조 출구로 이동 다음 버튼을.
이제 다시 실행하자.
어 오.
OK.
지금 무슨 일이 일어나고 있는지 알 수 없습니다.
우와.
여기에 한 순간.
>> 사실, 우리는 왜을지지 않습니다 또 다른 예를 살펴
시간의 관심.
OK.
그래서, 여기에 더 쉽게 준비의 를 ViewController 예.
여기에서 볼 수 있듯이, 나는 포함했다 의 등록
레이블과 버튼을 누릅니다.
그리고,이 코드 조각은 여기 -
이 IBAction를 -
여기에이 버튼에 연결했다.
당신은 여기에 터치 최대 내부를 볼 수 있도록 선택기에 연결된다
호출 버튼을 눌렀습니다.
>> 그래서, 우리는 실제로 통해 갈 수 있습니다 모션 다시, 여기, 터치 업을 복용하여
내부와 드래그로 다음 파일의 소유자 및
누름 버튼을 클릭하십시오.
이제 우리의 코드를 실행할 수 있습니다.
그래서 지금,이 버튼은 현재 작동하고 다음 페이지에 데려 갈 것입니다.
>> 그리고, 우리의 뷰 컨트롤러의 측면에서, 이했다 코드의 조각입니다
누른 버튼의 관심.
그리고, 여기에주의하는 것이 중요하다고 내가보기의 또 다른 유형을 만들었습니다
제어기는 테이블을 호출 뷰 컨트롤러.
그래서,이에 백업하는 유사했다 스토리 보드, I 중 하나를 드래그
이러한 테이블 뷰 컨트롤러 스토리 보드에.
나는 또 다른를 만드는거야
>> 테이블 뷰 컨트롤러에 대한 포인터 할당하고 초기화 - 보내고, 다음 일을
자기 도트 탐색 컨트롤러, 를 ViewController을 누르면,이 새로운
를 ViewController.
그리고, 예에 애니메이션을 설정 한 때문에 지금 내 애플 리케이션, 그리고 내부
실제로 애니메이션이가는보고 싶어 홈 페이지에서 테이블에
뷰 컨트롤러.
>> 청중 : 당신은 여전히​​ 걱정 마세요 가비지 수집에 대한?
>> RHED SHI : 저게 뭐죠?
아니오.
그래서, 문제는 당신이해야합니까이었다 가비지 수집 작업을하려면?
그래서, 엑스 코드 4 인, ARC 같이했다 자동 참조 횟수.
그리고, 일반적으로 새를 시작할 때 프로젝트, 당신은 그것을 검사 할 것입니다 때문에
아무도 실제로 거래하고 싶어 메모리와 물건을 확보.
하지만 엑스 코드 5도없는 생각 새 프로젝트에서 해당 옵션을 선택합니다.
그래서, 자동으로 당신을 위해 않습니다.
예?
>> 청중 : 당신은 내보낼 수 스토리 보드에있는 PDF?
>> RHED SHI : 그래, 확실히.
그래서,이 모든에 포함됩니다 소스 코드는, 그래서 너희들은 확인하실 수 있습니다
그것의 실제 Xcode 프로젝트.
그래?
>> 청중 :하지만, 난, 같은 수 있음을 의미 내 스토리 보드와 PDF를 인쇄?
난 그냥 내보내려면 사람을 보여주는 이미지.
>> RHED SHI : 오, 그래.
나는 당신이 할 수있는, 어쩌면 생각 스크린 샷을.
그래, 그들에게 화면을 보내 샷 또는 뭔가.
그래.
>> 자, 보자.
시간의 관심에서, 나는 생각한다 그게 내가 오늘 커버 할 수 있습니다.
하지만, 난 그냥, 사실, 그건 알고 거의 아이폰 OS의 표면을 만져
개발.
그래서, 저에게 연락 주시기 바랍니다 당신은 아이폰 OS에 대한 질문이
개발.
그리고, 바라건대, 나는 청소 할 수 있습니다 소스 코드의 일부까지
코드 파일, 당신은 몇 가지를해야합니다 있도록 작업 할 정말 좋은 예입니다.
>> 그 외에는, 너희들이가는 경우 CS50 해킹 마라톤, 나는 수도 있고 수도
거기, 내가 도울 수 없습니다 일부 아이폰 OS 개발도.
그럼, 감사합니다, 여러분.