오브젝트C2010. 6. 22. 09:54
[Objective-C]번들
Cocoa 어플리케이션은 래퍼(wapper)혹은 어플리케이션 패키지라는 디렉토리 구조를 가진다.
Cocoa에서는 이렇게 몇개의 파일과 디렉토리를 정해진 형식을 가진 디렉토리 구조에 담아 하나의 묶음으로 취급하는데 이런 구조를 번들(bundle)이라고 한다.
번들은 일정 규칙을 가진 구조로, 어플리케이션이나 로드벌 번들(loadable bundle)에 사용되는 디렉토리 구조는 같은 형태로 통일되어 있지만 프레임워크에 사용되는 구조는 다른 형식의 디렉토리 구조를 갖게 된다.

NSBundle은 각종 번들에 대한 인터페이스를 제공하는 클래스로 지정한 번들 중에서 GUI를 정의한 nib파일이나 동영상, 음원, 로딩 가능한 코드 등을 찾는 것이 가능하다. NSBundle의 인터페이스는 헤더파일 Foundation/NSBundle.h에 기술되어 있으며 또한 취급하는 자원의 종류에 따라 Application 프레임 워크의 헤더파일 정보가 필요한 경우도 있다.

* 로더블 번들
프로그램 내에서 사용되는 클래스나 카테고리중 당장 사용하지 않는 모듈이나 사용하지 않을 가능성이 있는 모듈을 실행파일과는 별개의 파일로 만들어두고 필요한 시점에서 동적으로 로딩하는것이 가능하다. 이렇게 하면 프로그램의 실행속도를 빠르게 하거나 기능을 한정하여 다양한 버전의 프로그램을 만드는 것이 가능하다.

로딩되는 모듈의 사양을 정해두고 프로그램과는 별도로 모듈을 작성하여 프로그램에 여러기능을 추가하는 것도 가능하다. 이른바 플로그인 같은 형태를 개발 할 수 있는 것이다.
실행파일의 외부에서 만들고 동적으로 로딩되는 모듈을 보통 로더블 번들(loadable bundle)이라는 형식으로 파일을 만든다. 로더블 번들은 어플리케이션 래퍼와 같은 디렉토리 구조를 같게된다. 하나의 로더블 번들에는 여러개의 클래스나 카테고리의 코드를 담을 수 있다. 로더블 번들은 애플리케이션 래퍼 내에 자원형태로 넣을 수 있지만 외부에 두는 것도 가능하다. 또한 로딩되는 코드는 애플리케이션 본체와 같은 메모리 관리방식으로 동작하도록 할 필요가 있다.
로더블 번들은 수동제작보다는 Xcode를 사용해서 개발하는 것이 일반적이다.



출처 : http://blog.naver.com/PostView.nhn?blogId=khagaa&logNo=30085012122

'오브젝트C' 카테고리의 다른 글

Objective-C의 특징  (0) 2010.06.22
[Objective-C]Interface Builder 기본 사용  (0) 2010.06.22
[Objective-C]번들  (0) 2010.06.22
[Objective-C]메세지 포워딩  (0) 2010.06.22
[Objective-C]존  (0) 2010.06.22
[Objective-C]프로퍼티  (0) 2010.06.22
Posted by 오늘마감

댓글을 달아 주세요