이번 글에서는 Swift 공식 문서의 21번째 단원인 Protocols을 읽고 정리한 글을 쓰려고 합니다. Apple Swift 공식 문서 21단원 - Protocol Protocol Protocol은 특정 작업이나 기능에 적합한 메서드, 프로퍼티, 요구사항의 청사진을 정의합니다. 그런 뒤 이러한 요구사항의 실제 구현을 위해 Class, Struct, Enum에서 Protocol을 채택할 수 있습니다. 이때 Protocol이 요구하는 사항을 모두 충족하면 해당 타입은 Protocol을 준수한다고 합니다. 준수해야 하는 타입의 요구사항을 정의하는 것 외에도 요구사항의 일부를 구현하거나, 준수하는 타입에 추가 기능을 구현하기 위해 Protocol을 확장할 수도 있습니다. Protocol Syntax Prot..
안녕하세요! Ick입니다. 이번 글에서는 제가 앱 개발을 할 때 사용하면 정말 좋다고 느낀 UserDefaults라는 것에 대해 알아보려고 합니다. UserDefaults가 무엇인가요? 하고 물으신다면 간단하게 말하자면 "사용자의 정보를 저장하는 것"이라고 말할 수 있습니다. 예를 들어 사용자가 어떤 언어로 이 앱을 쓰고 싶은지에 대한 정보라던가 흔히들 보는 팝업창을 오늘은 그만 보기 같은 기능을 구현할 수 있도록 정보를 저장하는 것이죠! 우선 공식 문서는 여기 입니다. UserDefaults는 아까 말했듯 앱의 사용자의 정보를 Key-Value 쌍으로 계속 저장합니다. 이렇게 정보를 저장하여 앱에서 사용자 기본 설정들을 설정할 수 있습니다. 이 값은 앱의 프로세스 내에서 동기적으로 변경되며 영구 저장소..
안녕하세요 Ick입니다. 오늘은 UIWindow에 대해서 알아보려고 합니다. 참고한 공식 문서들은 아래와 같습니다. UIWindow View and Window Architecture Windows 먼저 UIView와 UIWindow가 어떻게 쓰이고 있는지부터 알아보겠습니다. 위 사진은 애플 공식문서에서 UIView와 UIWindow의 관계를 설명할 때 나오는 사진입니다. UIView에 대한 설명은 여기를 참고해주세요! iOS 12 까지는 App delegate에서 window를 생성해줬는데 iOS 13부터는 Scene delegate에서 window를 생성해줍니다. 이는 iOS 13 부터는 window를 여러 개 사용하는 multiple windows가 지원되기 때문이라고 합니다. 자세한 내용은 여기를..
안녕하세요 Ick입니다. 오늘은 UIView에 대해서 알아보려고 합니다. UIView는 어떤 구조를 가지고 있는지 한 번 알아보겠습니다! 참고한 공식문서들은 아래와 같습니다. UIView View and Window Architecture 먼저 UIView와 UIWindow가 어떻게 쓰이고 있는지부터 알아보겠습니다. 위 사진은 애플 공식문서에서 UIView와 UIWindow의 관계를 설명할 때 나오는 사진입니다. UIWindow에 대한 설명은 여기를 참고해주세요! 사실 이 사진은 iOS 13부터는 조금 설명이 부족한 사진인 게 iOS 13부터 SceneDelegate가 추가되면서 UIWindowScene이라는 녀석이 추가되었기 때문이죠! 이 부분에 대한 설명은 여기를 참고해주세요! 이렇게 실제 앱의 뷰 ..
안녕하세요 Pingu 입니다! 오늘은 제가 개인 프로젝트로 앱을 만들다가 달력이 필요한 상황이 발생했는데... 만드는 방법을 찾다가 발견한 FSCalendar라는 좋은 오픈소스 라이브러리가 있길래 사용법을 정리해보려고 합니다! 사용해봤더니 우선 달력이 아주 예쁘게 만들어져서 너무 만족스러워요! 우선 실제 개발자분의 페이지는 여기입니다! 코코아팟으로 FSCalendar 설치하기 우선 오픈 소스 라이브러리를 사용하려면 CocoaPods(이하 코코아팟) 이라는 걸 사용해야 합니다. 코코아팟을 간단하게 설명하면 외부 라이브러리를 저희의 프로젝트에서 사용할 수 있도록 해주는 녀석입니다. 우선 사용을 위해서는 코코아팟을 설치해야 합니다. $ sudo gem install cocoapods 맥 터미널에 아래와 같이 ..
안녕하세요 Ick입니다! 이번 글에서는 요즘 앱 개발을 할 때 쉽게 백엔드를 구성하는 방법인 Firebase를 사용하는 방법 정리하려고 합니다! Firebase에는 두 가지 DB가 있는데 Firestore, realtime Database입니다. 두 개의 차이점을 읽어보니 Firestore가 더 좋아 보여서 Firestore의 사용법을 정리해보려고 합니다. 우선 iOS 앱과 Firebase를 연결하는 방법은 여기를 확인해주세요! Firestore를 사용하기 전에 먼저 Firestore를 생성해야 합니다. 여기를 눌러서 만들어 주시면 됩니다. 만들고 나면 아래와 같이 빈 데이터 베이스가 나타납니다. 그런 뒤 Xcode에서 여기서 하라는 걸 다 해주시면 사용할 수 있습니다. 데이터 구조 이해하기 Firest..
안녕하세요! Ick입니다! 오늘은 스토리보드 없이 탭 바 컨트롤러를 만들어 뷰들을 제어하는 것을 해보려고 합니다. 스토리 보드 없이 앱을 개발하는 기본적인 세팅은 여기를 참고해주세요! 이 글은 저 링크의 세팅을 마쳤다고 가정하고 진행하겠습니다! 우선 탭 바 컨트롤러로 뷰들을 제어하기 위해서는 다음과 같은 것이 필요합니다. 1. 제어할 뷰들 2. 탭 바에 들어갈 요소 (UITabBarItem) 이번 글에서는 배경색을 다르게 한 두 개의 뷰를 만들어서 뷰들을 제어해보도록 하겠습니다. 이렇게 정말 간단하게 뷰 두 개를 만들어서 탭 바 컨트롤러로 제어해보겠습니다. SceneDelegate.swift로 가서 scene함수를 아래와 같이 수정합니다! 이대로 실행하면 아래와 같이 결과가 나오게 됩니다! 탭 바를 통해..
안녕하세요! Ick입니다~ 오늘은 OperationQueue를 사용하여 동시성 프로그래밍을 구현하는 것을 해보려고 합니다. 동시성 프로그램의 이론적인 내용은 여기를 참고해주세요! 우선 iOS에서 동시성 프로그래밍을 구현할 때 사용하는 큐에는 DispatchQueue와 OperationQueue가 있습니다. DispatchQueue의 사용법을 알고 싶으시다면 여기를 참고해주세요! 두 큐 모두 동시성 프로그래밍을 구현할 때 사용되지만 이번에 사용할 OperationQueue는 Operation이라는 객체로 작업이 수행됩니다. 또한 OperationQueue를 사용하면 작업 객체들 간 종속성을 부여하여 작업의 순서를 정해줄 수 있습니다! 이 두 가지가 가장 큰 차이점이라고 생각합니다! Operation객체를 ..
- Total
- Today
- Yesterday
- 스위프트
- 코딩테스트
- mac
- 자료구조
- Apple
- 앱개발
- BFS
- 코테
- 백준
- dfs
- 동시성
- 아이폰
- 알고리즘
- OSTEP
- pattern
- 테이블뷰
- document
- System
- OS
- design
- Publisher
- operating
- 문법
- DP
- operator
- Xcode
- 프로그래밍
- Combine
- IOS
- Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |