안녕하세요 Pingu입니다.🐧 지난 글에서는 Apple에서 미리 정의해둔 Publisher들을 알아봤었는데, 이번 글에서는 이어서 Publisher 프로토콜을 채택하는 또 다른 녀석들인 Subject들에 대해서 알아보려고 합니다. Subject 일단 Subject의 정의를 볼까요? Subject도 프로토콜입니다. Publisher를 채택한 프로토콜이네요. 밑에 설명에 보면 "Subject는 stream에 send(_:) 메서드를 호출해서 값을 주입할 수 있는 Publisher이다."라고 적혀있네요. 그래서 기존에 Combine을 사용하지 않던 코드에 Combine 모델을 적용하고 싶을 때 사용하면 좋다고 합니다. 대충 뭔지는 알겠으니 Subject 프로토콜의 구현을 좀 더 살펴볼게요. @available..
안녕하세요 Pingu입니다.🐧 지난 글에서는 Publisher, Subscriber 프로토콜 그 자체에 대해 알아봤었는데요, 이번 글에서는 Publisher 프로토콜로 Apple에서 미리 구현한 Publisher들을 알아보려고 합니다. 간단히 Publisher가 뭔지 짚어보면, Subscription을 만들고 Subscriber에게 값과 completion event를 내보내는 타입을 위한 프로토콜이었습니다. 먼저 Apple에서 미리 구현한 Publisher들은 아래와 같습니다. Just Future Deferred Empty Fail Record AnyPublisher 그럼 하나씩 차례대로 알아보겠습니다~ Just (Struct) 가장 간단한 Publisher로 자신을 subscribe 하는 Subsc..
안녕하세요 Pingu입니다.🐧 지난 글에서는 간단하게 Combine이 뭔지에 대해 알아봤습니다. 간단히 다시 요약해보면 Apple에서 2019년에 만든 새로운 프레임워크인데, 이걸 쓰면 비동기 이벤트를 간단하게 처리할 수 있다! 정도?입니다. (Apple에서 만든 RxSwift라고 봐도 됩니다.😄) 어쨌든 Combine에는 Publisher, Subscriber, Subscription, Operator가 있는데, Operator는 종류가 너무 많으니 이번 글에서는 Publisher, Subscriber, Subscription에 대해 알아보려고 합니다. 흐름 공부를 하다보니 일단 Publisher, Subscriber, Subscription이 뭔지 알기 전에 이것들이 어떻게 동작되는지 흐름을 알고 가..
안녕하세요 Pingu입니다.🐧 요즘 나름 열심히 공부하는 프레임워크인 Combine를 복습 겸 확실히 공부할 겸 써보려고 하는 Combine입니다.😄 공부할 것 중 우선순위를 둔 것이 Combine, SwiftUI인데, SwiftUI를 공부하려고 보니 Combine을 알아야 하더라고요? 그래서 Combine부터 공부하고 있습니다. 제가 공부하면서 많이 어려웠고 아직도 어렵지만... 누구든지 이해할 수 있는 Combine 정보글이 되도록 열심히... 써보겠습니다. Combine이란? 그럼 Combine은 뭘까요? Combine은 2019년에 Apple에서 만든 새로운 프레임워크입니다. (RxSwift의 애플 버전이라고 생각하셔도 됩니다😄) https://developer.apple.com/documenta..
안녕하세요 Pingu입니다.🐧 오늘은 iOS에서 앱의 생명주기에 따라 호출되는 AppDelegate 메서드들을 알아볼 계획입니다. iOS 13 이후부터는 SceneDelegate가 생겨나서 AppDelegate가 하는 일들을 대체하는 메서드들도 생겨났는데요. 이렇게 대체된 메서드들은 아래와 같습니다. 즉 Scene을 사용하게 되면 AppDelegate의 메서드들이 호출되는 것이 아닌 SceneDelegate의 메서드들이 호출됩니다. SceneDelegate에 대해서 더 자세히 알고 싶으시면 여기를 참고해주세요. 처음 Scene이라는 개념이 등장하며 나온 오래된 자료라 지금과는 메서드 이름도 조금 다르지만 크게 다른 것은 없는 거 같아요. 그럼 앱의 생명주기에 따라 호출되는 AppDelegate 메서드들을..
안녕하세요 Pingu입니다. 🐧 오늘은 iOS에서 데이터를 저장하는 방법 중 하나인 Core Data에 대해 알아보려고 합니다. 예전에 알아본 UserDefaults도 비슷한 역할을 했었는데, 좀 더 복잡한 데이터를 저장하기 위해서는 Core Data가 적합하다고 합니다! 오늘 알아볼 Core Data를 사용하면 앱의 Permanent Data (영구 데이터)를 저장할 수 있다고 합니다. Core Data는 앱에서 모델 계층 개체를 관리하는 데 사용하는 프레임워크입니다. 즉 DB가 아니에요!! Core Data의 기능은 아래와 같아요. Persistence(영속성) Core Data는 객체를 저장소에 매핑하는 세부 정보를 추상화하여 DB를 직접 관리하지 않고도 Swift 데이터를 쉽게 저장할 수 있어요...
안녕하세요 Pingu입니다!🐧 오늘은 NotificationCenter를 사용하여 특정 동작이 발생했을 때 어떤 객체에 알리는 일종의 옵저버 패턴에 대해 알아보려고 합니다. 간단하게 만화를 그려봤는데 한 번 봐주세요 ㅎㅎ 위와 같이 A가 B에게 밥 먹을 때 연락하라고 말을 합니다. 그리고 자신도 그 때 밥을 먹겠다고 하죠. 나중에 알아보겠지만 이러한 과정이 addObserver라는 메서드에 의해 수행됩니다. 그럼 언젠가 B가 밥을 먹을 때 A에게 이를 알리겠죠? 위와 같이 B는 착하게도 A에게 밥을 먹는다고 알려주고 A는 이걸 듣고 자신도 밥을 먹게 됩니다. 위와 같은 과정을 앱에서 할 수 있도록 해주는 것이 NotificationCenter입니다. Apple 문서에서 NotificationCenter에..
안녕하세요 Pingu입니다!🐧 프로젝트를 진행하려고 하는데 서버가 필요한 일이 생겨서, Swift로 서버를 구축하는 방법을 한 번 알아보려고 합니다. Swift Server Side 프레임워크에는 Perfect, Vapor, kitura 같은 것들이 있었는데, 제가 오늘 알아볼 것은 Vapor입니다. 일단 Vapor를 설치해줘야 하는데요! docs.vapor.codes/4.0/install/macos/ Vapor: Install → macOS Install on macOS To use Vapor on macOS, you will need Swift 5.2 or greater. Swift and all of its dependencies come bundled with Xcode. Install Xcode..
- Total
- Today
- Yesterday
- operator
- BFS
- 스위프트
- 백준
- 문법
- 알고리즘
- System
- OS
- mac
- 동시성
- 자료구조
- Publisher
- document
- 아이폰
- IOS
- Combine
- Xcode
- 코테
- DP
- Swift
- Apple
- 프로그래밍
- 앱개발
- OSTEP
- 코딩테스트
- operating
- 테이블뷰
- pattern
- design
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |