'델리게이트'에 해당되는 글 1건

  1. 2010.10.02 피커 (Picker)
2010. 10. 2. 21:12
먼저 이 글은 모두 Head First iPhone Development 책을 읽고 내게 필요한 부분, 중요한 부분, 느낀점등을 잊지 않기위해, 나중에 글쓴이가 봤을 때 왜 이렇게 했었는지 등을 다시 한번 확인하기 위해 작성한것임을 밝힙니다.

이분(?)이 피커(Picker)님이다.

Picker 나 Table 같이 데이터를 보여주는컨트롤들은 생명없는 인형다루듯 수족처럼 부리는게 아니고, 자아(?)가 있다.

내가 Picker 컨트롤을 생성하고 그 Picker에 데이터를 저장하고 이벤트발생시 처리할것들을 코딩하는게아니다.

컨트롤 스스로가 데이터를 요구하고 이벤트를 알려주므로 Data Source 파일과 Delegate 파일을 연결해주어야 한다.

Picker 의 경우는 몇 컬럼으로 되어있는지, 각 컬럼별로 몇 줄인지 등등을 Data Source 파일에게 요구를 한다.[각주:1]

따라서 Data Source 파일에 모두 적어주어야 한다.

각 컨트롤마다 Data Source 의 종류가 다른데 Picker는 UIPickerViewDatasource 라는 Data Source 를 필요로 한다.

마찬가지로 무언가 Picker 에 이벤트가 발생할경우에는 Delegate 에게 발생한 이벤트를 알려준다.

그럼 Delegate 는 이벤트를 해석하고 어떤 행동을 취해야할지를 Picker 에게 다시 알려준다.

Data Source 처럼 Delegate 도 컨트롤마다 종류가 다르며, Picker 의 경우는 UIPickerViewDelegate 라는 Delegate 를 필요로 한다.

이처럼 컨트롤들은 각자 자신만의 Data Source 와 Delegate 를 가지고 있다.

컨트롤들이 스스로 일을 처리할 수 있게 존중(?)해주자.
  1. Table 과 같은 기타 컨트롤들은 무슨 내용을 적어야하는지도 Data Source 에게 요구를 한다. 하지만 Picker 는 약간 특수한 경우로, 어떤 내용이 들어갈지를 Delegate 에게 요구한다. 그 이유는, Picker 는 다양하게 표현할수 있기 때문이다. 단순히 Data만 받아오지 않고 Delegate 에게 뷰의 형태로 받아온다. [본문으로]

'공부 > iPhone' 카테고리의 다른 글

아이폰개발 용어 2  (0) 2010.10.02
프로토콜 (Protocol)  (0) 2010.10.02
애플 API문서 보기  (0) 2010.10.02
View-Based Application 실행 과정  (1) 2010.10.02
아이폰개발 용어 1  (1) 2010.10.02
Posted by terebyte