10일차 수업을 듣고 새로 알게된 점과 공부할 것을 정리한 글입니다.
Learned
- 화면 표시와 전환 (Presentation, Transition)
- 세그웨이(Segue) : 인터페이스 빌더에서 화면 전환을 담당하는 화살표
- iOS에서 사용하는 화면 프레젠테이션 방식은 show와 present modally 2가지가 있다.
그 외 나머지는 아이패드에서 동작하는 방식들이다. - show는 네비게이션 컨트롤러에서 정보의 흐름을 따라 화면을 보여주는 역할이고
presnet modally는 팝업 창 처럼 다른 맥락의 정보를 담은 화면을 보여주는 역할이다. - 스토리보드로 이전 화면에 돌아가려면 돌아가려는 화면에 unwind 액션 세그를 만들어주고
없애고자 하는 뷰 컨트롤러의 Exit에서 컨트롤과 액션을 연결해줘야한다. - 기본 모달 프레젠테이션 방식 -> iOS 13 이전: Full Screen 방식, 이후 : Page Sheet
- 아이패드에서 Page Sheet와 Form Sheet의 차이가 드러난다.
- 뷰 컨트롤러의 생명주기와 화면 전환
- 네비게이션 컨트롤러의 루트 뷰 컨트롤러는 최초 1번만 로드된다.
- 모달 프레젠테이션 방식에 따라 뷰 컨트롤러의 생명주기가 다르다.
- show와 present modally는 동작할때마다 새로운 화면이 로드된 후 보여진다.
- 모달 방식 중 current context와 full screen은 기존 화면이 보이지 않지만
그 외 방식은 기존 화면이 사라지지 않고 계속 보여지고 있는 상태여서
ViewWillAppear와 ViewDidAppear 메소드가 호출되지 않는다.
- UserDefault
- 앱 내부에 유저의 데이터를 저장할 수 있는 애플의 기본 저장소
- 주로 앱에 대한 유저의 설정처럼 비교적 간단하고 가벼운 데이터가 저장된다.
- 채팅 내역처럼 무거운 데이터들은 데이터 베이스(DB)에 저장한다.
ex) Realm, Core Data - 앱 내부에 데이터를 저장하기 때문에 앱을 종료해도 데이터가 유지되지만
앱을 삭제하면 함께 사라진다.
iCloud 동기화, 백업 및 복구 기능으로 삭제후에도 데이터를 유지할 수 있다.
- iOS SandBox System
- 아이들이 놀 수 있는 모래로 된 공간에서 이름이 유래됐다.
- 앱이 보호받은 영역(샌드박스)에서만 동작하도록 강제해서
시스템이 조작되는 것을 막는 보안 시스템 - 만약 이런 시스템이 없다면 앱은 사용자의 모든 리소스(카메라, 앨범 등) 에 접근할 수 있고
앱의 약점을 이용한 공격자가 앱을 통해 사용자의 시스템을 공격할 수 있음을 의미한다.
ex). 카톡 분석 앱 - 앱의 사용자는 앱 내부의 데이터에만 접근이 가능하고 외부 데이터에 접근 시
사용자로부터 접근 권한을 받아야 한다. - 샌드박스는 크게 3가지 디렉토리(공간)로 구성된다.
- Bundle Container : 스토리보드, 에셋, 스위프트 파일 등의 데이터가 들어감.
- iCloud Container
- Data Container : UserDefault를 포함한 대부분의 유저 데이터가 들어감.
- 4개의 공간으로 나뉜다.
- 앱을 통해 생성한 모든 문서와 데이터가 Document 폴더에 들어간다.
ex) 멜론 음악, 유튜브 영상 등
이상입니다.
'TIL' 카테고리의 다른 글
[Sesac IOS] 12일차 TIL (0) | 2022.07.20 |
---|---|
[Sesac IOS] 11일차 TIL (0) | 2022.07.18 |
[Sesac IOS] 9일차 TIL (0) | 2022.07.14 |
[Sesac IOS] 8일차 TIL (0) | 2022.07.13 |
[Sesac IOS] 7일차 TIL (0) | 2022.07.12 |