![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cBnJnu/btrGQEoSlnW/EajzoKVKijXc5W1SlK0Al0/img.png)
AutoLayout 실습 아래의 배달의 민족 첫 화면의 UI를 구성해봄. 윗부분의 오토레이아웃을 짜고보니 safeArea가 없는 기기에서는 원하는대로 나왔지만, SafeArea가 있는 기기에서는 빈 칸으로 나왔음. 이미 뷰 내의 레이아웃을 다 짜서 높이를 조절하면 내부를 전부 수정해줘야했음. 그래서 SuperView와 SafeArea사이에 뷰를 넣고, 위아래 constraint를 0으로 설정해서 해결. -> safearea가 없는 기기에서는 height가 0이므로 보이지않고, 있는 기기에서는 빈 칸을 메꿔줌. 오토레이아웃을 짜면서 뷰의 크기를 값으로 설정하는 경우가 많았음. 만약 하나의 기기만 생각한다면 상관없지만, 실제로는 다양한 기기가 쓰이기때문에 만약 뷰의 크기를 값으로 설정하고 프리뷰를 보면 위와..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bhDBP0/btrGP48MS7i/N7O1reOQE6mZy4Jl8pwank/img.png)
VCS(Version Control System) 이름 그대로 버전을 관리한다고 보면됨 시간에 따라 파일과 소스코드 등의 변화를 담고 있다가 필요한 시점의 버전을 불러올 수 있는 시스템. 장점 - 문제 발생 시, 원인 파악 쉬움. - 이전 상태로 다시 돌아갈 수 있어 개발에 용이함. - 협업의 경우, 각자 작업한 내용을 간편하게 동기화 가능. 이전 상태로 돌아갈 수 있는 것이 큰 메리트같음. Git 로컬에서 관리되는 VCS 로컬에 저장소가 있고, 공유할 필요가 있는 경우에 깃허브를 이용하여 공유 가능. Github git을 통해 버전을 관리하고, github는 git의 내용을 전송받아 저장할 공간을 제공해줌. 일종의 클라우드라고 생각하면됨. Git에는 3가지 상태가 있음 modified -> 작성(수정)..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ccX6fV/btrGGcF3UaO/JBKRVmQjaPgi4KxWheoPb1/img.png)
BreakPoint 의도적으로 프로그램을 일시정지. 주로 오류를 발견하기 위해 사용됨. 이렇게 왼쪽 숫자를 누르면 브레이크가 걸림. 파일 생성 시 swift파일 vs cocoaTouch파일 swift파일을 생성했을 땐 Foundation프레임워크가 임포트되어있고, 코코아터치의 경우 UIKit 프레임워크가 임포트되어있음. 어떤 것으로 생성하든지 상관없음. 단지, 샘플용으로 적혀있는 코드가 다를뿐. Function 코드를 작성하다보면 반복적으로 작성되는 부분이 있는 경우가 있음. 이때 함수를 선언해서 호출만하면 효율적으로 작성 가능. 함수를 보면 애플에서 이미 정의해놓은 함수가 있는 반면, 우리가 직접 정의하는 사용자 정의 함수(UDF)도 있음. 단, 함수를 선언하는 경우엔 이름, 기능, 실행 타이밍을 직접..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bUXiaM/btrGGRm2RHa/iJSHHKP9D5WuzKoCQ0OwEK/img.png)
AppDelegate & SceneDelegate iOS13 이전엔 AppDelegate에서 프로세스(앱의 실행과 종료 등)와 UI의 생명주기(백그라운드 상태 로직 등)를 모두 관리했음. 하지만 iOS13부터 iPadOS의 멀티 윈도우 기능으로 인해 UI의 라이프사이클이 다양해짐. "만약 멀티윈도우로 같은 앱을 여러 번 띄웠을 때, 하나만 종료한다면 그 앱은 액티브 상태인가?" 라는 의문을 갖게 됨. -> SceneDelegate 등장 iOS13 이전의 구조 AppDelegate Process LifeCycle 앱의 시작 앱의 종료 ... UI LifeCycle Entered Foreground Became Active ... iOS13 이후의 구조 AppDelegate Process LifeCycle ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qA6j6/btrGBjjyAVL/FkA7wPqxUKrLx2hLTA3pyk/img.png)
Cocoa Touch Framework -> iPhone, iPad 등의 기기에서 구동되는 애플리케이션을 개발하는 환경 -> UIKit, Foundation 등을 전부 포함하는 최상위 레벨의 프레임워크 Cocoa Framework도 있는데 이는 맥OS를 위한 프레임워크 -> AppKit을 포함하고 있음. 이전에는 위처럼 플랫폼별로 프레임워크가 나눠져있었지만, SwiftUI를 이용한다면 모든 애플 플랫폼에서 사용이 가능함. 하지만 아직까지 완벽하게 안정적이지않아 시간이 조금 더 걸릴 것 같음. Cocoa Touch Framework에서 가장 많이 쓰는 것이 UIKit과 Foundataion Foundataion Framework -> Int, String 같은 기본적인 데이터 형식, 각종 구조체나 타이머 ..
- Total
- Today
- Yesterday