본문 바로가기

Swift학습4

[27일차] Codable 이란? Swift4에서 JSON 데이터를 손쉽게 파싱이 가능한 기술이 나왔다고 한다. 그 기술이 바로 'Codable'이다. Swift 공식 홈페이지에서 말하는 정의는 다음과 같다. "A type that can convert itself into and out of an external representation." 자신을 변환하거나 외부표현(external representation)으로 변환할 수 있는 타입입니다. 여기서 말하는 Decodable, Encodable 이란 무엇일까요? - Decodable : 자신을 외부표현(external representation)에서 디코딩 할 수 있는 타입 - Encodable : 자신을 외부표현(external representation)으로 인코딩 할 수 있는 타.. 2020. 8. 19.
[26일차] URLSession (꼭 알아야 할 개념) 앱이 서버에서 애플리케이션 데이터를 검색하거나, 소셜미디어 상태를 업데이트하거나 원격 저장소 파일을 디스크로 다운로드하는 등, 모바일 애플리케이션의 중심에 있는 HTTP 네트워크 요청은 마법을 일으킵니다. 네트워크 요청에 대한 수많은 요구사항을 지원하기 위해 애플은 HTTP를 통해 콘텐츠를 다운로드, 업로드하기 위한 완성된 네트워킹 API인 URLSession을 제공 합니다. URLSession은 HTTP 요청의 송신과 수신을 담당하는 핵심 객체입니다. 다음 3가지 타입으로 제공되는 URLSessionConfiguration을 사용해서 생성합니다. * URLSessionConfiguration - .default: 디스크 지속(disk-persisted) 전역 캐시, 자격 증명(credential)과 쿠.. 2020. 8. 16.
[20일차] TodoList 앱 만들기 - 1 최초로 만드는 iOS 앱으로 TodoList(할일) 앱을 만들어보고자 한다. 우선 만들기 전에, 강의에서 필요로 하는 개념에 대한 정리를 해보고자 한다. * 데이터 저장 : NSCoding, Property List, Serialization, Core Data, Realm - 데이터가 많을 때 : Core Data, Realm 권장 - Codable(Swift 4) : JSON 데이터를 효율적으로 다룰 때 사용 * Tab Controller 추가 방법 : StroyBorard에서 View 선택 및 Editor -> Embed in -> Tab Controller 선택 * 할일을 추가/수정/삭제하는 클래스(TodoManager)에 대한 함수를 정의해보자. // 여러개의 TodoList 목록을 관리 (To.. 2020. 8. 8.
[19일차] Designated Init vs. Convenience Init * designated initialize : 직접적인 initialize * convenience initialize : 간접적인 initialize * Convenience initialize 사용하는 이유? : initialize 파라미터가 너무 많을 때, 간략히 하고자 사용 ☆ designated vs convenience - DI는 자신의 부모의 DI를 호출해야 함 - CI는 같은 클래스의 이니셜라이저를 꼭 하나 호출해야 함 - CI는 궁극적으로 DI를 호출해야함 위의 예제와 같이 CI를 이용하면 클래스 객체 생성을 간단하게 이용할 수 있다. CI 이용 시, 궁극적으로 DI를 반드시 호출해주어야 한다. 2020. 8. 7.