iOS/Wiki
-
SOLID in SwiftiOS/Wiki 2022. 4. 4. 01:44
안녕하세요! 오늘은 객체지향의 다섯가지 원칙인 SOLID에 대해서 공부해보겠습니다. 바로 시작하겠습니다 🐶 SOLID 원칙이란? SOLID란 객체지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 각 원칙의 맨 앞글자만 딴 원칙입니다. 1. Single Responsibility Principle(단일 책임 원칙) 2. Open/Closed Principle(개방 폐쇄 원칙) 3. Liskov Substitution Principle(리스코프 치환 법칙) 4. Interface Segregation Principle(인터페이스 분리 원칙) 5. Dependency Inversion Principle(의존성 역전 원칙) 각 원칙을 따르지 않아도 프로그래밍은 가능하지만, 시간이 지나도 유지보수와 확장이 쉬운 ..
-
POP(Protocol-Oriented Programming) in Swift (1/2)iOS/Wiki 2022. 3. 28. 20:31
안녕하세요! 오늘은 WWDC2015에서 발표했던 POP에 대해서 알아보는 시간을 갖도록 하겠습니다. 바로 시작하겠습니다🐶 먼저, 영상의 소개에는 이런 문구가 적혀있다. At the heart of Swift's design are two incredibly powerful ideas: protocol-oriented programming and first class value semantics. Each of these concepts benefit predictability, performance, and productivity, but together they can change the way we think about programming. Find out how you can apply these..
-
ReactorKit 사용기iOS/Wiki 2022. 3. 5. 01:50
안녕하세요 🐶 오늘은 ReactorKit을 사용하는 방법에 대해서 정리해보려고 합니다. 바로 시작하겠습니다. 왜 ReactorKit을 사용하게 되었는지 MVVM 패턴 + Input Output을 활용하면서 느낀 점이 있었다. Swift에서 MVVM 패턴으로 작성된 코드를 살펴보게 되면, 굉장히 많은 방법으로 구현되어있음을 느낄 수 있었다. 최근 작성된 코드들을 살펴보면, Input과 Output을 활용하여 입력, 출력으로 추상화하는 방법을 많이 사용하는 것 같은데, 이 Input과 Output을 활용하는 방법에도 func transform(input: Input) -> Output { } 이렇게 함수를 만들어서 활용하는 방법과, 뷰 모델 클래스 안에 Input, Output를 인스턴스로 만든 뒤 이니셜라..
-
Swift ARC(Automatic Reference Counting)iOS/Wiki 2022. 1. 15. 21:13
안녕하세요!! 이번엔 Swift의 Automatic Reference Counting에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 ARC란? Swift의 메모리 관리 시스템으로, Automatic Reference Counting이라고 한다. 더이상 필요하지 않은(참조하는 변수, 상수가 없을 경우) 인스턴스를 자동으로 메모리에서 해제해준다. class Apartment { var unit: String var tenant: Person? init(unit: String) { self.unit = unit } deinit { print("\\(unit) is destoryed...") } } class Person { var name: String var regiden..
-
LocalizationiOS/Wiki 2022. 1. 14. 20:29
안녕하세요!! 이번엔 Swift에서 Localization에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 Localization이란? 언어, 문화권이 다른 환경에서 앱을 사용할 수 있도록 지원하는 서비스 Localization을 지원할 경우, 사용자 기기의 기본 언어에 따라 국제화(현지화)가 이루어진다. iOS 13 이상부터 사용자가 기기의 기본 언어와 관계없이 앱에서 선호하는 언어를 선택할 수 있다. 시간대, 숫자, 화폐 단위의 표현, 선호하는 레이아웃, 프로모션 등에서 차이가 발생할 수 있기 때문에, 언어 뿐만 아니라 문화적/환경적 측면도 고려할 필요가 있다. 사용법 Localizable.strings 각 나라와 지역에 맞는 정적 메세지(고정된 텍스트)를 제공 In..
-
페이지네이션(Pagination)iOS/Wiki 2022. 1. 13. 02:42
안녕하세요!! 이번엔 페이지네이션에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 한번에 서버에서 많은 양의 데이터를 받아오는 것은 서버에게도, 사용자의 device에도 큰 부담이다. 많은 양의 데이터를 다루는 API들을 살펴보면, 데이터들을 page 단위로 쪼개서 요청한 query에 따라 몇 번째 page를 보낼 것인지 결정하는 방법들이 쓰인다. 그래서 보통 API를 호출해서 데이터를 가져오게 되면, 따로 코드를 작성하지 않는 이상 오직 한 페이지의 데이터만을 보게된다. 여기서 페이지를 다루는 방법(언제, 어떻게 다른 페이지의 데이터를 가져올 것인가)을 페이지네이션이라고 한다. Pagination 방법 페이지네이션을 구현하는 방법은 3가지가 있다. OffsetPagin..
-
UserDefaultsiOS/Wiki 2022. 1. 11. 22:54
안녕하세요!! 이번엔 UserDefaults에 대해서 정리했습니다. 이번 글도 노션에서 옮겨와 말이 짧습니다!! 양해해주세용😽 UserDefaults란? Apple에서 제공해주는 Key:Value 형태의 기본 저장소 단일 데이터 값을 저장하기에 용이하다. 자동 로그인 여부, 알림 수신 여부, 인앱 결제 여부, 이메일, 닉네임, 성별 등 간단한 사용자 기본 설정에 사용된다. 저장 시 plist(Property list) 형식으로 저장된다. 프로그램의 실행이 종료되더라도, 사라지지 않는다. 하지만, 앱이 삭제된다면 데이터는 함께 사라진다. 앱의 삭제 유무와 상관없이 데이터를 유지하고 싶다면, 백업/복구 기능을 지원하거나 KeyChain, iCloud 동기화 등의 기능을 통해 유지하기도 한다. UserDefa..