본문 바로가기

ios

(15)
[iOS] App LifeCycle iOS 앱 생명주기 App Life Cycle App의 생명주기란, App을 터치하여 실행시킨 뒤 이것이 완전히 종료되기 까지 크게 3단꼐, 세밀하게 10단계로 진행이 된다. UIApplication 객체 생성 AppDelegate 객체 생성 Event Loop 을 실행하며 유저의 이벤트 확인 App Touch main() 안에서 UIApplicationMain() 호출, UIApplication 객체 생성 UIApplication 객체는 info.plist 파일으로부터 앱에 필요한 데이터와 객체들을 로드 커스텀 코드를 처리하기 위한 AppDelegate를 생성하고 이를 UIApplication 객체와 연결 실행을 준비하고 application(_:willFinishLaunchingWithOptions:..
[iOS] SnapKit Snapkit 이번 프로젝트에서 SnapKit 을 사용하게 되어 이를 직접 사용하기 이전에 SnapKit 이 무엇인지 먼저 공부하며 본 문서를 작성한다. SnapKit이란? cf) SnapKit Official Repository iOS 앱을 개발할 때에는 다양한 해상도를 유연하게 지원하기 위하여 Auto Layout이라는 기능을 제공한다. Auto Layout이란? AutoLayout 이란, 기존의 Frame-Based Layout 과는 달리 View와 View사이의 관계를 이용하여 해당 객체의 위치와 크기를 자동으로 결정하는 Layout System이다. SnapKit이란 iOS와 OS X의 Auto Layout 기능을 코드로 손쉽게 적용하도록 도와주는 기능을 제공하는 라이브러리이다. 즉, 가독성을 ..
[iOS] Codable Codable cf)Codable Codable 이란? Codable: A type that can convert itself into and out of an external representation. Codable 이라는 Typealias는 자신을 변환하거나 외부 표현으로 변환할 수 있는 타입을 의미한다. 여기서 외부표현이란 JSON과 같은 타입을 의미한다. 선언 typealias Codable = Decodable & Encodable Codable 은 위와 같이 이루어져 있다. 즉, Codable은 Decodable 과 Encodable 프로토콜을 준수하는 타입이다. Decodable & Encodable Decodable : 자신을 외부표현(External representation)에서 디코..
[iOS] UISlider 공식문서 번역 및 공부 UIPickerView cf) UISlider INDEX 1. Declaration 2. Overview 3. Responding to User Interaction 4. Interface Builder Attributes 5. Topics `UISlider` 클래스는 범위 내 연속되는 범위 내에서 단일 값을 선택하는데 사용되는 제어기능을 제공한다. Declaration class UISlider: UIControl Overview (그림 참고) 슬라이더의 thumb을 이동시키면 업데이트 된 값이 연결된 동작에 자동으로 전달된다. 슬라이더의 외형 구성을 보면 알 수 있듯, 슬라이더의 모양은 사용자가 커스텀 할 수 있다. track과 thumb에 색상을 넣을수도 있고, 슬라이더의 끝 부분에 이미지를 넣을수..
[iOS] Pass Data Between View Controllers - 1 Pass Data Between View Controllers INDEX 1. Outline 2. Passing Data Between View Controllers With Properties(A -> B) 3. Passing Data Between View Controllers Using Segues (A → B) Outline 여러개의 화면을 갖는 앱을 만들고 싶다면, 뷰 컨트롤러 간의 데이터 전달은 정말 필요한 기능이다. 뷰 컨트롤러 간 데이터 전달 기능은 iOS 개발에서 매우 중요한 부분이다. 이는 여러가지 방법을 통해 구현할 수 있으며, 각각의 장단점이 있다. 뷰 컨트롤러 간 데이터를 쉽게 전달하는 기능은 채택한 앱 아키텍처의 영향을 받는다. 즉, 앱 아키텍처는 뷰 컨트롤러 작업 방식에 영향을..
[iOS] UITableView 공식문서 번역 및 공부 UITableView cf)UITableView INDEX 1. Declaration 2. Overview 3. 인터페이스에 테이블 뷰 추가하기 4. 테이블 뷰 데이터 추가하기 5. 행의 모양 정의하기 6. 각각의 행에 셀 생성 및 수정 6. 테이블 현재 상태 저장 및 복원 UITableView 클래스는 단일 열에 여러개의 행을 사용하여 데이터를 표시하기 위해 사용한다. Declaration class UITableview: UIScrollView Overview iOS 디스플레이의 테이블뷰는 세로로 스크롤되는 컨텐츠를 화면을 행으로 나누어 보여준다. 테이블 내 각각의 행에는 앱의 컨텐츠들을 포함한다. 대표적인 예시로 연락처 앱은 각각의 연락처를 분리된 행에 따라 보여준다. 설정 앱은 그룹 테이블을 이용..
[iOS] MyWebBrowser 정리 MyWebBrowser Index 1. 인터페이스 2. 공식문서 WKWebView UserDefaults 3. 코드리뷰 4.정리 1. 인터페이스 본 문서는 MyWebBrowser 프로젝트를 진행하며 배운 내용들을 정리하도록 한다. 뷰 컨트롤러 scene 에는 WebView와 Activity Indicator 그리고 Toolbar Item을 이용해 scene 을 구성하였다. 웹 뷰를 화면 전체에 뿌려주기 위해 제약을 걸어주고 화면 중간에 Activity Indicator 그리고 하단에 툴 바를 추가하고 툴 바 아이템들을 배치하였다. 2. 공식문서 이번 프로젝트의 핵심기능은 WKWebView이다. 따라서 원활한 기능 수행을 위해 관련 문서를 우선적으로 살펴보도록 한다. WKWebView dev.apple.c..
[iOS] TableView 정리 테이블뷰 정리 Index 1. 테이블뷰란? 테이블 뷰 기본 형태 테이블 뷰 스타일 테이블뷰 생성 테이블뷰 구성요소 2. 테이블뷰 셀이란? 테이블뷰 셀의 구조 테이블뷰 셀의 기본 기능 커스텀 테이블뷰 셀 3.DataSource와 Delegate? 데이터 소스 델리게이트 1. 테이블뷰란? 테이블뷰는 iOS 애플리케이션에서 많이 활용하는 사용자 인터페이스다. 테이블뷰는 리스트 형태를 지니며 스크롤 이용이 가능해 많은 정보를 보여줄 수 있다. 다양한 용도로 사용하는 테이블뷰의 특징과 구성요소에 대해 알아본다. 테이블 뷰 기본 형태 이미 다양한 iOS 앱에서 만나 익숙한 테이블뷰 형태에 대해 보다 구체적으로 알아보도록 한다. 테이블뷰는 하나의 열(column)과 여러 줄의 행(row)을 지니며, 수직으로 스크롤이..