URLSession - 이론
·
iOS/iOS 개념
API를 호출하기 위한 방법을 찾던 중, Alamofire 라이브러리가 있지만 라이브러리 말고 스스로 적용해서 불러오는 방법에 익숙해진 후 라이브러리를 사용하는게 좋을거 같다고 판단하여 관련 내용을 정리 URLSession URLSession 은 위 사진과 같은 구조를 갖는다 URLSessionConfiguration 을 통해 URLSession을 결정한후, Session을 생성 Delegate는 URLSession 통신의 중간 과정이나 통신 종료 후 같은 이벤트를 확인할 때 주로 사용 URLSessionConfiguration을 통해 Session 을 설정하면 URLSessionTask 로 보내 통신을 시작 URLSessionConfiguration URLSessionConfiguration의 종류에 ..
Concurrent 동시성
·
iOS/iOS 개념
Concurrent (동시성) 이란 무엇인가? 앱의 로직 내에서 특정 부분이 동시에 또는 임의 순서대로 실행되기 위해 필요한 개념 앱의 전반적인 효율성 측면에서도 필요하지만, 앱을 사용하는 유저에게도 일관적인 UI를 그리기 위해서도 필요한 개념 ⇒ 네트워크 통신을 통해 어떠한 리소스를 다운받는 동안 동시성을 적용하지 않아 유저가 비어있는 화면만 바라보게 된다면 지루함을 느끼고, 짜증을 유발할 수 있다, 이때 동시성을 적용하여 네트워킹을 통해 리소스를 다운받는 동안 유저에게 특정 뷰를 그려주면 유저 입장에서도 매우 좋다 데이터 흐름을 정확히 유지하는 것이 중요하기 때문에 동시에 이루어지는 두 작업이 하나의 데이터를 조작하면 안됨 GCD (Grand Central Dispatch) DispatchQueue ..
DTO 와 VO의 차이
·
iOS/iOS 개념
DTO 와 VO 의 차이 API를 호출하고자 하는데 데이터 정의를 어떻게 해야 할지 고민이 되어 찾아보다가 관련 개념을 정리 우선, DTO 와 VO 둘다, 데이터를 정의하는데 의미가 있다 그렇다면 차이가 뭘까? 간단히 설명하면 getter 와 setter를 모두 포함하는지, getter만 포함하는지에 대한 차이가 있다. 즉, 읽기 전용 데이터인지? 적절한 수정을 통해 가공해야 하는 데이터인지에 대한 차이이다. DTO : Data Transfer Object ⇒ getter 와 setter를 모두 가지고 있는 객체를 의미 Swift의 문법중 ‘연산 프로퍼티' 의 개념과 동일하다, 데이터를 가져와 적절히 가공하고 사용해야 할때 사용되는 개념 데이터 자체를 사용하는것이 아닌, 가공 또는 한곳에 모아 사용해야 ..
ARC - 기초 개념
·
iOS/iOS 개념
iOS 공부하면서 스토리보드에서 컴포넌트를 끌어다 놓을때 strong / weak 의 연결을 하는것을 알게되었고 이게 무슨의미인가.. 싶었지만 그냥 weak으로 해라! 라고만해서 그 의미에 대해 깊게 파악해보진 않았던거 같다.. 그래서 이 강한참조 / 약한참조 의 근본(?)인 ARC 를 공부해보쟈! What is ARC? ARC 는 Automatic Reference Counting의 약자다! ARC는 메모리를 스스로 관리하는 기능을 수행한다 일반적으로 Swift가 자동으로 ARC를 이용해 메모리를 관리하기 때문에 사용자는 메모리는 어떻게 처리해야하는지 깊게 생각할 필요는 없다고.. (공식문서에 써있다..) 💡 Objective-C 에서는 MRC 라고 하는 수동 메모리 관리 기법을 사용하였다, Objec..
MVC 패턴
·
iOS/iOS 개념
MVC 패턴의 개요 Model - View - Controller 구조로 이루어진 디자인 패턴을 의미한다. Model : 앱의 데이터 또는 비즈니스 로직을 소유 ( 데이터의 변수 및 상수 , 데이터 값의 계산 등을 수행 ) View : 사용자에게 데이터 또는 UI 를 보여주는 역할을 수행 ( Storyboard 가 View 에 포함 ) Controller : Model 과 View 의 중간에서 View로부터 사용자의 이벤트를 감지하고, 해당 이벤트 처리를 Model에게 지시하며, Model의 계산된 데이터를 받아 View에게 전달하는 역할을 수행 ( TableViewController , ViewController, 등등.. ) Model - View - Controller 는 각각 어떻게 소통을 하나?..