전체보기
[ Swift ] Expandable UITableView 만들기
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 펼침이 가능한 UITableView 만들기입니다. 흔히들 Expandable UITableView 라고도 불리지요~ 실무에서 해당 기능을 사용을 하게 되었고~ 정리를 해보았습니다. Full Code 는 맨 하단에 Github 링크 올려놨으니 참고 부탁드립니다 ㅎㅎ 1. 프로젝트 구조 프로젝트 구조는 다음과 같습니다. 초록색 : Dummy Data를 위한 데이터 소스 빨간색 : 화면 출력을 위한 ViewController 소스 2. 소스 간단한 프로젝트 구조를 알아보았으니 작성된 소스에 대해 알아보도록 하겠습니다. 2-1. StoryBoard 간단히 TableView만 생성 후 ViewController에 연결합니다. 2-2. Model c..
[ RxSwift ] Observable & Subscribe
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️ 입니다. 실제 업무를 진행하면서 RxSwift에 대해 접해볼 기회가 없었습니다. 다만 요즘 트랜드를 보면 RxSwift 사용이 점차 많아지는 것을 확인할 수 있었고 "개념이라도 알아야 실제 써먹던가 하지..." 해서 공부를 하게 되었습니다. 이번 포스팅 부터는 RxSwift 에 대해 제가 공부한 것들을 차근 차근 포스팅 하려고 합니당! 1. 개요 한가지 샘플 코드를 소개하면서 포스팅을 시작하도록 하겠습니다! //URL을 통한 데이터 수신 로직 func downloadJson(urlString: String, completion: @escaping (String) -> Void) { guard let url = URL(string: urlString) else {..
[ Swift ] 일급 객체 ( First-Class Object )
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 일급객체 ( First-Class Object ) 대해 알아보는 시간을 가지겠습니다. 1. 개요 Swift는 함수형 프로그래밍을 따르고 있습니다. 고로! Swift라는 언어는 일급 객체 ( First-Class Object) 에 부합하는 언어라고 할 수 있습니다. 바로 설명에 들어가도록 하겠습니다~ 2. 일급 객체 일급 객체? 2급도 있고 3급도 있나? ㅎㅎㅎ 껄껄s~~ 앜ㅋㅋㅋㅋㅋㅋㅋㅋ 네 ... 죄송합니다ㅋㅋ 정확히 아래의 조건을 충족한다면 일급 객체라고 할 수 있습니다! 1. 객체가 런타임에도 생성 가능하다. 2. 객체를 인자 값으로 전달할 수 있어야 한다. 3. 객체를 반환 값으로 사용할 수 있어야 한다. 4. 데이터 구조 안에 저장할..
[ iOS ] GCD 4편 - GCD ( Grand Central Dispatch )
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 저번에 이어서 드디어! GCD 4편! GCD ( Grand Central Dispatch ) 관해 알아보는 시간을 가지겠습니다. Sync, Async, Serial, Concurren에 대한 기본지식이 있다는 전재하에 포스팅을 진행을 합니다! 혹시 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생각됩니다 ㅎㅎ :) [ iOS ] GCD 2편 - Sync vs Async 안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 2편! Sync vs Async 관해 알아보는 시간을 가지겠습니다. GCD 1탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생 beanistory.tistory.com [ iOS ] G..
[ iOS ] GCD 3편 - Serial vs Concurrent
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 저번에 이어서 GCD 3편! Serial vs Concurrent 관해 알아보는 시간을 가지겠습니다. GCD 2탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생각됩니다 ㅎㅎ :) [ iOS ] GCD 2편 - Sync vs Async 안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 2편! Sync vs Async 관해 알아보는 시간을 가지겠습니다. GCD 1탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생 beanistory.tistory.com 1. 개요 이번 포스팅은 개발자분들이 실제 프로젝트를 진행하면서 진짜 많이 쓰고 찾아보았던 것들에 대해 공부해보려고 합니다. 바로봐로~~~ Seria..
[ iOS ] GCD 2편 - Sync vs Async
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 2편! Sync vs Async 관해 알아보는 시간을 가지겠습니다. GCD 1탄이 궁금하신 분들은 먼저 보고 오시면 더욱 이해가 쉬울거라 생각됩니다 ㅎㅎ :) [ iOS ] GCD 1편 - 프로세스(Process) vs 쓰레드(Thread) 안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 1편! 프로세스와 쓰레드 관해 알아보는 시간을 가지겠습니다. 1. 개요 주니어 개발자로 프로젝트를 하다보면 Sync / Async 프 beanistory.tistory.com 1. 개요 이번 포스팅은 개발자분들이 실제 프로젝트를 진행하면서 진짜 많이 쓰고 찾아보았던 것들에 대해 공부해보려고 합니다. 바로봐로~~~ Sync vs A..
[ iOS ] GCD 1편 - 프로세스(Process) vs 쓰레드(Thread)
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 GCD 1편! 프로세스와 쓰레드 관해 알아보는 시간을 가지겠습니다. 1. 개요 주니어 개발자로 프로젝트를 하다보면 Sync / Async 프로세스 / 쓰레드 Serial / Concurrent Main Thread / Global Thread 등등.. 많은 용어를 보게 되는데, 정확히 이러한 것들에 대해 잘 모르시는 분들을 위해!! 포스팅 하려구 합니다. 이번엔 먼저 프로세스 / 쓰레드 부터 다뤄보도록 하겠습니다~ 2. 프로세스 ( Process ) 운영체제로부터 시스템 자원을 할당받는 작업의 최소 단위 각각의 독립된 메모리 영역 ( Code, Data, Stack, Heap ) 을 각자 할당 받습니다. 그렇기 때문에 서로 다른 프로세스끼리는..
[ Swift ] 제네릭 ( Generic )
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 제네릭 ( Generic ) 대해 알아보는 시간을 가지겠습니다. 1. 개요 제네릭이란 타입에 의존하지 않고 범용 코드를 작성할 때 사용한다. 우리는!! 제네릭을 사용함으로써 코드 중복을 피하고, 유연하게 작성할 수 있다. 흔히 사용하는 Swfit 표준 라이브러리 대다수는 제네릭으로 선언되어 있습니다~ 대표적으로 Array 와 Dictionary 가 있찌요! 정확한 제네릭에 대해서는 아래에서 설명을 드리겠습니다~ 1-1. 제네릭 함수 ( Generic Function ) 아아아주~ 간단하게 두 Int 값을 Print 출력하는 함수가 있고, 아래와 같이 구현해 보았습니다. func printInts(_ a: Int, _ b: Int) { prin..
[ Swift ] KVC(Key-Value-Coding), KVO(Key-Value-Observing)
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 KVC와 KVO 대해 알아보는 시간을 가지겠습니다. 1. 개요 Objective C를 개발하다가 Swift로 넘어오면 참 편한 부분이 많습니다. 예를 들어 객체 선언 후 프로퍼티나 메서드를 접근을 하였던 Objective c면 . ( 닷 ) 을 써서 바로 접근이 가능한 Swift... 물론 해당 변수가 특정 객체임을 선언해야하는건 마찬가지지만요..ㅎㅎ 이처럼 참으로 개발자에게 친절한 Swift에서 오늘 다뤄볼 내용은 아래와 같습니다. KVO : Key-Value-Observing KVC : Key-Value-Coding 단어만 보면 저게 뭐지..? 싶을텐데 의외로 자기도 모르게 쓰고 계신 분들이 많을 거라 생각됩니다. 일단 난 안써봄 ㅎㅎ 자..
[ iOS ] 메모리 구조 ( Code, Data, Stack, Heap )
안녕하세요 🐶 빈 지식 채우기의 비니🙋🏻♂️ 입니다. 오늘은 메모리구조에 대해 알아보는 시간을 가지겠습니다. 1. 개요 운영체제(OS)는 메모리에 공간을 할당을 해줍니다. 대표적으로 아래와 같이 4가지로 나뉘어져 있습니다. 오늘은 위의 총 4가지 메모리 영역에 대해 각각이 어떤 역할을 하는지 알아보겠습니다. :) 2. 메모리 구조 2-1. 코드(Code) 영역 1. 우리가 작성한 소스 코드가 기계어 형태로 저장된다. 2. 컴파일 타임에 결정되고, Read-Only의 형태로 저장된다. 기계어라고 하면은 컴퓨터가 이해할 수 있는 언어로 0, 1 로 이루어진 이진법 언어입니다. 2-2. 데이터(Data) 영역 1. 전역변수, Static 변수가 저장된다. 2. 프로그램 시작과 동시에 할당되고, 프로그램이 종..