#10 XCode , Interface Builder 분석

2011. 1. 13. 14:11OS/iOS

IB 라고 하는 것을 분석해봅시다.
쉽게 설명하자면 말그대로, 사용자 인터페이스를 편리하게 디자인 하는 툴입니다.
시작하기전에 참고로 IB 와 XCode는 서로 긴밀하게 연결이 되어 있어, XCode에서 코드를 수정하면 IB에도 반영이 되고,
IB는 구성한 인터페이스를 외부 클래스 파일로 내보내는 기능을 가지고 있습니다.

XXXViewController.xib (요건 window-bases Applications  선택시에는 나오지 않더라구요) 을 힘차게 더블클릭을 해주시면
아래와 같이 이것저것 우르르르르... 창이 열립니다.



1. XXXViewController.xib 



File's Owner 와 First Responder  두 아이콘은 자동 생성됩니다.
IB를 이용하면 코코아 터치 객체의 속성을 쉽게 설정할수 있고, XXXViewController.xib파일에 저장되며,빌드시에 해당 객체는 자동으로 인스턴스화 됩니다.

1) File's Owner 
 어떠한 xib 파일에서든 항상 첫번째 아이콘이고, 디스크에서 로드된 xib파일 객체를 나타낸다.
 인터페이스 빌더상에 기본적으로 나오는 인스턴스화 된 객체로 xib 파일 자체의 소유자를 의미합니다.
 
2) First Responder 
   사용자가 현재 상호작용하는 객체이며, 사용자가 인터페이스와 상호작용 할때 마다 변경됨.
   예를 들어 사용자가 현재 텍스트 필드에 데이터를 입력하는 중이라면 해당 텍스트 필드가 현재의 First Responder 입니다.

앞서 말한것과 같이 위의 두 아이콘외의 다른 아이콘은 xib파일을 로드할 때 생성할 인스턴스 객체를 나타낸다.

3) View
 UIView 클래스의 인스턴스, UIView 인스턴스는 사용자가 보고 상호작용 할 수 있는 영역이다.
 화면에 보이는 모든 사용자 인터페이스의 구성요소들(텍스트 필드, 레이블, 버튼 등)은 UIView의 하위클래스 이다.
 View아이콘을 더블클릭하면 View창이 뜨는데 이창에서 사용자 인터페이스를 설계 할수 있다.
 우측 상단에 휘어진 화살표를 클릭하면... 와우~ 돌아가네~
  

2. Library 
  각종 객체들이 모여 있어서, 필요한 코코아 터치 객체를 끌어 놓으면 클래스의 인스턴스가 어플리케이션에 추가된다.
  Library 항목들은 어플리케이션의 사용자 인터페이스를 만드는데 사용하는 객체들의 프레임워크인 iPhone UIKit에 있는 것이다.
 (*코코아 터치에서 UIKit은 코코아에서 AppKit과 같은 역활을 수행한다. 개념적으로 두 프레임워크는 비슷하지만 플랫폼의 차이로 인해, 확실히 많은 차이가 있다. 반면 NSString 이나 NSArray와 같은 Foundation 프레임워크 클래스는 코코아 와 코코아 터치가 공유한다.)

3. Inspector  
 컨트롤,뷰 객체의 속성을 편집하는 창이고, 4개의 탭으로 구성이 되어 있습니다.
 
 1) Attributes : 선택한 컨트롤의 속성 편집
 2) Connection :  액션 & 이벤트 , 객체와 객체 사이를 연결해 주는 기능
 3) Size : 크기 조정
 4) Identify : 클래스에 IBAction 과 IBOutlet 를 추가한다.

** 1988년 무렵에 생긴 인터페이스 빌더는  NextSTEP,OpenSTEP,Mac OS X, 지금은 아이폰용 애플리케이션을 개발하기 위해 사용
인터페이스 빌더는 .nib라는 확장자를 사용하는 오래된 형식과 .xib라는 확장자를 사용하는 새로운 형태가 있다 라는 점만 알길..

여기까지..