[TIL] DAY79_iOS_Making a CalculatorApp
- 1 min
DAY79
자료구조(2/7)
Stack and Queue : 선형구조의 일종
- Stack : LIFO(Last In First Out)
- Queue : FIFO(First In First Out)
Stanford iOS강의 시청
#1. iOS 1강 개요 및 계산기 만들기
- 기본세팅 및 하나의 Scene에 버튼 및 아울렛 설정과 액션연결
#2. iOS MVC 및 계산기 만들기
- MVC(Model-View-Controller)
- Model - Controller
- Controller은 사용자에게 모델에 있는 것을 표현하거나 사용자로부터 정보를 받아 모델을 업데이트
- Model -> Controller에게 데이터가 변경되었다고 알릴 때, Notification & KVO를 통해서 알린다.
- Controller - View
- Outlet으로 연결되는데 Action으로 View가 Controller에게 메세지를 보낼 수 있다.
- Model - View는 소통할 수 없다.
- 뷰는 자신이 가진 데이터를 소유할 수 없고, 컨트롤러는 모델에서 데이터를 가져온다. should, will, did 메시지로 주고 받으며, 이러한 메세지를 델리게이트한다.(델리게이트는 뷰안에 있는 프로퍼티이다.)
- 데이터를 불러올 때 쓰는 델리게이트(data at, count)를 data source라고 한다.
- 계산기 내부 Model클래스 구현하기.
- .swift file을 만들고, 해당 클래스는 아무 것도 상속 받지 않는다. (ex. CalculatorBrain)
- internal 은 모듈내에서만 접근가능, public은 다른 모듈에서도 접근가능.
- Controller 클래스 내부에서 변수로 Model클래스 호출 후, 해당 객체 메서드사용.
- 해당 Model은 내부 로직과 데이터를 담당해야되기 때문에 데이터를 선언해준다.
- 가로로 된 화면에서의 처리
- 기존에 있던 버튼들을 층별로 스택구조로 바꿔주고, 각 층의 스택을 하나의 스택으로 묶어준다. (Editor-Embed In-Stack View)
- 해당 스택을 코너상단에 각면에 고정(Control key + view에 연결 후, 설정) 후, Inspector를 통해서 constraint로 설정
#3. iOS 스위프트 기초문법을 이해하자.
- 저장되는 계산기 만들기
- Model함 수 내부에 변수 선언 및 아울렛(Save,restore) 추가해서 연결
#4. 얼굴앱을 만들며 View를 이해하자.
- View
- 사각형 영역을 나타낸다. 좌표공간으로 정의하고, 그 공간을 그리기나 터치이벤트를 처리하는데 사용된다.
- 뷰의 계층구조
- 겹칠 수 있다.
- 모든 뷰는 결국하나의 슈퍼뷰를 갖는다. 또한, 그 뷰는 다수의 자식 뷰를 가질 수 있다.
- UIWindow는 앱마다 하나씩 갖는다.
- UIWindow : 기기에 연결되는 물리적인 화면을 정의하는 객체
addSubview() or removeFromSuperView()의 메소드를 갖는다.
- UIView의 초기화
- init(frame: CGRect) : 코드로 UIView를 생성할 때
- init(coder: NSCoder) : storyboard로부터 UIView가 생성될 때
- awakeFromNib()
- 그리기(Drawing)
- CGFloat -> **VendingMachineApp Step6 때 공부.