somedd / swift-VendingMachineApp

음료수 자판기 iOS 앱 저장소 / `18.03.05~`18.03.20
0 stars 0 forks source link

Making a VendingMachineApp

- Step 1

1. iOS 앱을 구성하는 핵심 객체들(UIKit Framework의 핵심 객체들)

2. App초기화(App Loading Process) 과정 단순화

  1. App 실행: main() 함수 실행됨
  2. main(): UIApplicationMain() 호출
  3. UIApplicationMain(): UIApplication 객체 생성
  4. UIApplication 객체: Info.plist 파일을 바탕으로 앱에 필요한 데이터와 객체 로드
  5. AppDelegate 객체 생성 및 UIApplication 객체와 연결
  6. 이벤트 루프 생성 등 실행에 필요한 준비 진행
  7. 실행 완료 직전, AppDelegate의 application(_:didFinishLaunchingWithOptions:) 메시지 전송

3. iOS 메인 런루프 동작 이해

- Step 2

screemsh_step2

1. IBOutlet Collection 기능에 대해 학습하고 중복되는 아웃렛을 제거한다.

  1. 중복되는 요소들 중 하나를 View Controller로 끌어서 IBOutletCollection 만듦
  2. 만든 IBOutletCollection 옆의 동그라미(+) 버튼을 Main.storyboard의 중복되는 요소들로 드래그하여 UI 객체배열 완성
  3. 각 요소를 구분하기 위한 tag 부여
  4. IBAction을 하나 만들어서 각 요소와 연결
  5. IBAction 내에서 IBOutletCollection으로 만든 배열 사용

2. UIImageView 에서 이미지를 표시할 때 사각형 코너를 둥글게하도록 변경해본다.

3. Restoration ID (restorationIdentifier)

- Step3

0. Controller에서 AppDelegate 내부에 선언한 변수 접근하기

  //Controller 내부
  //해당 변수 선언
  var aVariable : object!

  //viewDidLoad() 함수 내부 : delegate할당 및 변수 할당
  let appDelegate = UIApplication.shared.delegate as! AppDelegate
  aVariable = appDelegate.value

1. 앱 생명주기(Application Life Cycle) /

2. 아카이브

3. 사용자 설정값을 저장하는 UserDefault 클래스와 UserDefault 클래스에 저장할 수 있는 데이터 타입

- Step4

1. 싱글톤 패턴

- Step5

1. 관찰자 패턴

- Step6

구매목록 View 코드

- Step 7

Frame과 Bounds

- Step 8

코어 그래픽스(Core Graphics)

- Step9

터치 이벤트(Touch-event)