프로젝트 구성

825 views

Published on

http://wawworld.me

changhoonpark@gmail.com

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
825
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

프로젝트 구성

  1. 1. Objective-C 프로젝트 구성 By Changhoon Park Objective-C http://www.wawworld.me Last Update : 2011. 08. 2811년 10월 4일 화요일
  2. 2. 인터페이스 부분 ( .h 파일 ) 구현 부분 ( .m 파일 ) • 클래스를 사용하기 위해 외부에 노출 • 클래스가 실제로 어떻게 동작하는지 • 클래스 선언 포함 - @interface 키워드 • 클래스 정의 - 메소드 호출 - @implementation 키워드 - 상속, 컴포지션 정보 - 메소드를 구현하는 코드 • 공용 struct 정의, enum 상수, #define, • 글로벌 변수 정의, extern 글로벌 변수 지역 변수로 사용할 struct 정의 2 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  3. 3. Xcode에서 새 파일 만들기 3 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  4. 4. 의존성 (dependency) 두 객체 사이의 관계 • Slant6는 Engine과 상속 관계 Engine - Slant6는 Engine에 의존성을 갖음 - description - Engine의 인스턴스 변수가 추가되면 - Slant6는 다시 컴파일 되어야 함 Slant6 - description 4 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  5. 5. 의존성 (dependency) 두 개 이상의 파일에서 존재 헤더 파일과 헤더 파일을 포함하는 소스 파일 만일 헤더 파일(.h) 이 변경되면 종속적인 모든 소스파일을 다시 컴파일 Tire.h Engine.h • Tire,h Engine,h가 변경된다면 - Car.m도 변경 사항을 적용하기 위해 다시 컴파일 해야 한다. Car.m 5 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  6. 6. 재 컴파일의 문제 Thing3.h를 수정하면 Thing1.h까지 다시 컴파일 Xcode는 모든 의존성을 추적해서 처리 Thing1.h Thing2.h Thing3.h 6 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  7. 7. 컴퍼지션 - 컴파일러가 단지 이름만 필요한 경우 - 포인터 객체를 만들기 위한 클래스 이름만 필요 #import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h> #import "Engine.h" @class Tire; #import "Tire.h" @class Engine; @interface Car : NSObject @interface Car : NSObject { { Tire *tires[4]; Tire *tires[4]; Engine *engine; Engine *engine; } } .... .... @end // car @end // car 7 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  8. 8. 컴퍼지션 - 컴파일러가 클래스 전체의 정의를 필요한 경우 #import "Car.h" #import "Engine.h" #import "Tire.h" @implementation Car ..... @end // Car 8 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  9. 9. 컴퍼지션 - 컴파일러가 단지 이름만 필요한 경우 - 포인터 객체를 만들기 위한 클래스 이름만 필요 #import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h> #import "Engine.h" @class Tire; #import "Tire.h" @class Engine; @interface Car : NSObject @interface Car : NSObject { { Tire *tires[4]; Tire *tires[4]; Engine *engine; Engine *engine; } } .... .... @end // car @end // car 9 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일
  10. 10. 실습 1. 05.03 CarParts-2.zip를 분해하기 2. 각 클래스는 헤더 파일(.h)과 구현 파일(.m)로 구성 Tire, Engine, Car : 재컴파일의 기본 상식 Slant6, AllWheatherRadial : 포함과 상속 3. 수정한 .m과 .h 그리고 결과화면 스샷을 아지트에 올리기 10 프로젝트 인터페이스와 구현 크로스 파일 의존성 Objective-C 실습 By Changhoon Park http://www.wawworld.me11년 10월 4일 화요일

×