본문 바로가기

Thinking/Study

어플리케이션 개발자, 아이폰 매력에 빠지다

728x90
저자 : Kengo Tsuruzono
옮김 : 강동수, 박한철

04-02 이벤트 처리의 기본
- 타깃/액션에 의한 이벤트 처리
. 액션 메소드(action method)란 클래스에 정의되어 있는 메소드들 중에 Interface Builder 에서 보이도록 선언된 메소드들입니다.
. [Back] 버튼을 선택하면 웹뷰의 goBack 액션이 호출되게 됩니다.
. 액션이 호출되는 오브젝트를 타겟(Target) 이라고 하며 뷰(view)에서 사용자 조작에 의해 타겟 오브젝트의 액션 메소드를 호출하는 구조를 타겟/액션 매커니즘 이라고 합니다.

04-04 Objective-C 의 헤더파일
- 메소드의 프로토타입 선언
. 액션 메소드란 사용자 조작으로 버튼 등을 클릭했을 때 호출되는 메소드로 다른 메소드와 별 차이가 없다. 틀린 점이라면 반환값의 형이 정해져 있는 것과 인수가 정해져 있는 것. 메소드명은 자유롭게 정할 수 있다.
. 액션 메소드의 반환값 형은 IBAction. 실제로는 void형이라서 반환값이 없다.
# define IBAciotn void
. void 를 직접 쓰지않고 IBAction 을 쓰는 이유는 헤더에 선언된 모든 메소드를 Interface Builder 에 표시하지 않고 반환값이 IBAction 인 메소드만 Interface Builder 에 표시하기 위해서이다.
. 액션 메소드의 인수는 아래 세가지 패턴 중 하나여야 한다.

- (IBAction) action;
- (IBAction) action: (id) sender;
- (IBAction) action: (id) sender forEvent: (UIEvent *) event; 


 04-06 아울렛(Outlet)
. 메소드를 interface builder 상에 표시하기 위해서 반환값으로 IBAction 형을 붙인거과 비슷한 방법으로 인스턴스 변수를 Interface Builder 에 표시할 수 있다.
. 인스턴스 선언 맨앞에 IBOutlet 을 선언하면 Interface Builder 에서 인스턴스 변수가 보이게 됨
. 아울렛(Outlet) 이란 것은 전기 콘셉트를 꽂는 구멍을 의미하는 용어

04-08 어플리케이션 델리게이트
- UIApplication 의 동작과 델리게이트 : UIApplicaitionDelegate
. 아이폰 어플리케이션은 UIApplication 클래스가 본체 부분으로 사용자 조작으로 발생한 이벤트를 감시하여 OS 측에서 처리 가능한 것은 OS측에서 처리함.
. 어플리케이션 고유의 동작 처리는 OS 에서 다룰 수 없다. 버튼을 눌렀을 때 어플리케이션 마다 그 처리 내용이 틀려지는데, 어플리케이션의 오브젝트(타켓)에 메소드를 만들어서 메소드을 호출한다. 이것이 액션 메소드.
. 그 외에도 어플리케이션이 실행될 때나 종료될 때 그 어플리케이션만의 고유한 처리를 할 경우가 있다. 이때 처리를 받는 의뢰받는 오브젝트를 델리게이트(Delegate:대리인)라고 부름.
. 델리게이트의 구조는 어플리케이션 외에 오브젝트에서도 사용되므로 어플리케이션에 대한 델리케이트를 어플리케이션 델리게이트라고 구분한다.
. 정해진 이름대로 메소드가 구현됨. UIApplication 에 델리게이트 오브젝트를 등록해 놓으면 필요한 때에 델리게이트 메소드를 호출할 수 있음.
. 액션 메소드와 달리 메소드 명을 정할 수 없음.