아이폰 앱 패턴
  2010. 08. 10
아이폰 앱 패턴
   앱의 UI 설계
   GUI 구현
   컨트롤을 어떻게 사용할지 알아보기
   데이터 처리하기
   앱 실행
앱 설계 규정 - 아이폰
   아이폰 휴먼 인터페이스 가이드라인(The iPhone
    Humal Interface Guidelines, HIG)
   몰입형 앱(Immersive App)
   유틸리티 앱(U...
피커와 버튼
   라운드 사격형 버튼(rounded rectangle button)
    어떤 액션을 수행하도록 지정해야 한다


   피커(Picker)
    한 화면에 보여줄 수 있는 항목 개수가 제한되어 있...
앱 실행 순서
   main(...)이 가장 먼저 실행
   Main() 함수가 코코아 터치 앱을 실행
   MainWindow.xib파일은 닙 파일과 응용프로그램
    간의 연결정보를 갖고 있다
   코코아 ...
컨트롤 - 데이터소스 - 델리게이트


   컨트롤
    각기 고유한 데이터 소스와 델리게이트를 가진다

   데이터 소스
    컨트롤과 실제 보여줄 데이터 사이에서 다리 역할

    UI컨트롤에 표시할 데이터...
피커(UIPicker) 특징, 메소드

   델리게이트(UIPickerViewDelegate)
    어떤 줄에 보여줄 뷰를 그리는 일

    특정 줄(row)에 보여줄 항목(문자열 또는 뷰)
    pickerVi...
프로토콜

   데이터 소스 및 델리게이트가 어떤 메시지에 응답해야 하는지 정의
    프로토콜은 어떤 메소드(메시지)를 구현해야 하는지 알려준다
    프로토콜은 필수 및 선택 메소드를 정의
    어떤 프로토콜을 ...
   피커가 작동하기 위해서는 델리게이트와 데이터 소스가 필요
   .h파일과 .m 파일은 함께 작동
   구현파일(.m)은 선언한 것들을 실제로 구현
   모든 구현은 @implementation 키워드 다음부...
델리게이


피커 컨트롤



         데이터 소스
정리
   프로토콜
    데이터 소스 및 델리게이트가 응답할 메시지를 정의

    헤더파일에 선언, 일부는 선택적일 수 있다

   델리게이트
    UI컨트롤이 처리해야할 것을 담당

    데이터를 저장하거나...
아이폰 앱 개발을 위한 Objective-C
         #include와 동일
#import <UIKit/UIKit.h>
          클래스의 정의를 나타내는 키워드

@interface StudyViewCo...
프로퍼티 속성 키워드
프로퍼티 속성 키워드
    readonly
프로퍼티 속성 키워드
    readonly
     retain
프로퍼티 속성 키워드
    readonly
     retain
    readwrite
프로퍼티 속성 키워드
    readonly
     retain
    readwrite
      copy
프로퍼티 속성 키워드
    readonly
     retain
    readwrite
      copy
     assign
Objective-C
   아이폰 앱 개발 언어
   객체지향 언어
   발전된 메모리 관리 기법
   메시지 전달과 동적 타입 사용
   상속과 인터페이스 정의
메모리 관리

   클래스에 alloc, new, copy, mutableCopy 메시지를
    보내어 생성한 객체는 반드시 릴리스해야 한다
   그 외의 메시지를 통해 생성된 객체는 리테인 카
    운트는 1이...
Upcoming SlideShare
Loading in …5
×

아이폰 앱 패턴

2,146 views
2,059 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,146
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
46
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide



















  • 아이폰 앱 패턴

    1. 1. 아이폰 앱 패턴 2010. 08. 10
    2. 2. 아이폰 앱 패턴  앱의 UI 설계  GUI 구현  컨트롤을 어떻게 사용할지 알아보기  데이터 처리하기  앱 실행
    3. 3. 앱 설계 규정 - 아이폰  아이폰 휴먼 인터페이스 가이드라인(The iPhone Humal Interface Guidelines, HIG)  몰입형 앱(Immersive App)  유틸리티 앱(Utility App)  프로덕티비티 앱(Productivity App)
    4. 4. 피커와 버튼  라운드 사격형 버튼(rounded rectangle button) 어떤 액션을 수행하도록 지정해야 한다  피커(Picker) 한 화면에 보여줄 수 있는 항목 개수가 제한되어 있다. 사용자가 사용 가능한 전체 항목을 한꺼번에 다 볼 수 없다 피커는 뷰에 보여주거나 사라지게 할 수는 있지만 전체크기는 변경할 수 없 다.
    5. 5. 앱 실행 순서  main(...)이 가장 먼저 실행  Main() 함수가 코코아 터치 앱을 실행  MainWindow.xib파일은 닙 파일과 응용프로그램 간의 연결정보를 갖고 있다  코코아 터치 프레임워크가 닙으로부터 뷰를 생 성  컴포넌트 이벤트 발생, 연결된 컨트롤러 인스턴
    6. 6. 컨트롤 - 데이터소스 - 델리게이트  컨트롤 각기 고유한 데이터 소스와 델리게이트를 가진다  데이터 소스 컨트롤과 실제 보여줄 데이터 사이에서 다리 역할 UI컨트롤에 표시할 데이터를 제공  델리게이트 정보를 저장하고 보여주고, 어떤 뷰를 언제 보여줄지 제어 데이터를 저장하거나 화면에 표시하는 등의 처리를 주로 담당
    7. 7. 피커(UIPicker) 특징, 메소드  델리게이트(UIPickerViewDelegate) 어떤 줄에 보여줄 뷰를 그리는 일 특정 줄(row)에 보여줄 항목(문자열 또는 뷰) pickerView:titleForRow:forComponent:  데이터 소스(UIPickerViewDataSource) 컴포넌트(컬럼)의 개수 pickerView:numberOfRowsInComponent: numberOfComponentsInPickerView
    8. 8. 프로토콜  데이터 소스 및 델리게이트가 어떤 메시지에 응답해야 하는지 정의 프로토콜은 어떤 메소드(메시지)를 구현해야 하는지 알려준다 프로토콜은 필수 및 선택 메소드를 정의 어떤 프로토콜을 따라야 하는지는 개발자 문서 참고 Ex) UIPickerViewDatasource 프로토콜은 pickerView:numberOfRowsInComponent: 메소드를 필수 메소드로 요구
    9. 9.  피커가 작동하기 위해서는 델리게이트와 데이터 소스가 필요  .h파일과 .m 파일은 함께 작동  구현파일(.m)은 선언한 것들을 실제로 구현  모든 구현은 @implementation 키워드 다음부터 시작  메모리를 반납하기 위해서 객체를 release  Xcode는 현재 인터페이스 빌더에서 보이는 화면이 아니라, 단지 디스크에 저 장되어 있는 닙 파일을 실행할 뿐이다(반드시 저장)  피커뷰 데이터 소스 프로토콜에는 두개의 필수 메소드가 있다  Objective-C의 헤더파일에 있는 @interface는 클래스를 정의하는 키워드  IBOutlet을 선언하고 나서 똑같은 이르의 프로퍼티도 선언해야 한다
    10. 10. 델리게이 피커 컨트롤 데이터 소스
    11. 11. 정리  프로토콜 데이터 소스 및 델리게이트가 응답할 메시지를 정의 헤더파일에 선언, 일부는 선택적일 수 있다  델리게이트 UI컨트롤이 처리해야할 것을 담당 데이터를 저장하거나 화면에 표시하는 등의 처리  데이터 소스 UI컨트롤에 표시할 데이터를 제공
    12. 12. 아이폰 앱 개발을 위한 Objective-C #include와 동일 #import <UIKit/UIKit.h> 클래스의 정의를 나타내는 키워드 @interface StudyViewController : UIViewController 클래스 이름 콜론(:) 다음에 상위 클래스 <UIPickerViewDataSource, UIPickerViewDelegate> { 프로토콜은 꺽쇠 괄호(<>)안에 정의 IBOutlet UIPickerView *picker; 클래스 멤버를 선언하는 문장 NSArray* activities; 포인터 앞에 애스테리스크(*)를 붙임 NSArray* feelings; } @property는 Objective-C에게 게터와 세 터 메소드를 자동으로 생성하라고 명령 프로퍼티 이름과 타입 @property (nonatomic, retain) UIPickerView* picker; - (IBAction) sendButton: (id) sender; IBAction 메소드는 반드시 범용 객체 포 인터형인 id형의 인자가 하나 선언 @end
    13. 13. 프로퍼티 속성 키워드
    14. 14. 프로퍼티 속성 키워드 readonly
    15. 15. 프로퍼티 속성 키워드 readonly retain
    16. 16. 프로퍼티 속성 키워드 readonly retain readwrite
    17. 17. 프로퍼티 속성 키워드 readonly retain readwrite copy
    18. 18. 프로퍼티 속성 키워드 readonly retain readwrite copy assign
    19. 19. Objective-C  아이폰 앱 개발 언어  객체지향 언어  발전된 메모리 관리 기법  메시지 전달과 동적 타입 사용  상속과 인터페이스 정의
    20. 20. 메모리 관리  클래스에 alloc, new, copy, mutableCopy 메시지를 보내어 생성한 객체는 반드시 릴리스해야 한다  그 외의 메시지를 통해 생성된 객체는 리테인 카 운트는 1이며, 오토릴리스 풀에 들어 있으므로, 현재의 이벤트 처리가 끝나면 제거된다

    ×