인터페이스 빌더와 Xcode로 애플리케이션 만들기 Interface Builder
OSXDEV
목차 |
[편집] Interface Builder
인터페이스 빌더는 사용자 인터페이스를 설계하고 저장하는 역할과 인터페이스 오브젝트들간, 또는 인터페이스 오브젝트와 애플리케이션의 데이타 스트럭쳐를 연결하는 역할을 해주는 프로그램이다. 그런데 다른 유사한 개발툴과의 가장 큰 차이점은 인터페이스 빌더는 소스코드를 제너레이트 하는것이 아니고 Nib이라고 불리는 객체와 그 객체의 각종 정보를 마치 냉동건조 시키듯이 그대로(인스턴스화 된 상태로) 저장해버린다. 그렇게 저장된 Nib은 런타임에 바로 읽어져서 사용가능 한 상태로 된다.
모든 애플리케이션이 가지고 있는 "MainMenu.nib"은 애플리케이션의 메인메뉴와 윈도우를 포함한다. 물론 이 Nib파일을 여러개 만들 수도 있다. 좀 더 복잡한 프로그램이라면 여러 종류의 윈도우와 메뉴를 가지게 될 것인데 이런 경우 여러개의 nib을 만들 수 있다.
Nib파일에 많은 량의 데이타를 넣어두면 실행시간에 그것을 로딩하기 위해서 많은 시간이 소모되지만 여러개의 Nib에 나누어 저장하므로서 필요할때 필요한 만큼만 로딩하게 해뒀다. 만일 특정 윈도우를 실행 시간에 한번도 열지 않는다면 그 nib파일은 로딩되지 않는다.
인터페이스 빌더를 실행하기 위해서는 단지 Nib을 더블 클릭하기만 하면 된다. XCode에서 MainMenu.nib을 더블 클릭해보자. 다음 <그림 4>과 같은 창들이 뜨면서 인터페이스 빌더가 실행될 것이다.
<그림 4> 인터페이스 빌더의 윈도우들
[편집] 2.1 Layout
Window라는 타이틀이 달인 창은 실제로 컨트롤 들을 올려놓을 윈도우이다.
[편집] 2.2 Palette
Cocoa-Menus라는 이름의 윈도우는 실제 프래임 윈도우 위에 올라갈 각종 위젯들이 있는 팔레트이다. 사용하고 싶은 위젯이 있으면 드래그 앤 드랍으로 추가 할 수 있다.
[편집] 2.3 Menu
'MainMenu.nib - MainMenu'라는 타이틀이 붙은 윈도우는 메뉴를 설계 할 수 있는 윈도우이다.
[편집] 2.4 Nib
'MainMenu.nib'이란 타이틀이 달린 윈도우는 상당히 복잡한 기능을 하는것으로 텝을 기준으로 보면 총 5가지 기능을 가지고 있다.
[편집] 2.4.1 Instances tab
탭의 타이틀에서 보다시피 인스턴스(미리 만들어진 오브젝트)를 보여준다. 메뉴와 윈도우 이 모든것들이 인스턴스화 되어서 저장되기 때문에 instances라고 이름을 붙인 것이다.
- File's Owner
여기서 파일이라는 것은 Nib파일을 말하는 것이고 그것의 주인이라 함은 바로 애플리케이션 자체를 말하는 것으로 Info윈도우에서 이것의 클래스를 확인해보면 NSApplication으로 되어있다.
- First Responder
responder는 키보드나 마우스 같은데서 오는 이벤트를 받고 응답하는 객체이다. First responder는 윈도우가 될 수도 있고 윈도우 안의 어떤 객체가 될 수도 있다.
- MainMenu
애플리케이션의 메뉴 구조를 나타낸다.
- Window
이것은 애플리케이션의 메인 윈도우(화면에 Window라고 나와있는 창) 을 나타내는 것으로 만일 새로운 윈도우를 만들게 되면 역시 같은 모양으로 아아콘이 하나 더 생긴다.
[편집] 2.4.2 Classes tab
코코아의 모든 클래스를 브라우징 할 수도 있고 새로운 객체를 상속받아 만들수도 있는 기능을 제공한다.
[편집] 2.4.3 Images tab, Sounds tab
프로젝트에 추가되어 애플리케이션 내에서 사용될 이미지와 사운드들을 보여준다.
[편집] 2.4.4 Nib tab
Nib파일에 대한 옵션을 조정할 수 있게 해준다.




