iOS의 built-in framework 중, Combine이 있습니다. 그 중, Future라는 publisher에 대한 기본적인 사용방법 부터, 제한사항, 주의사항과 이를 해결하는 대안 등에 대해서 알아보겠습니다. 🤔 Combine framework, Future Publisher 란? Future Publisher는 클로져를 통해 일정 작업을 수행하고, 그 콜백을 단일 값으로 방출하고 싶을때 사용할 수 있는 Publisher입니다. 클로져 내에서 원하는 작업을 수행 후, 그 결과값을 방출하거나, 필요시 Error를 던질 수도 있습니다. 만약 failure 케이스가 없다면, Failure 타입을 Never로 지정하면 됩니다. Future Publisher 기본 사용 예시 및 주의사항 1 // fut..
YAPP IT 동아리 22기에서 iOS 개발 파트 팀원으로 참여해서 Coffice 라는 앱을 런칭하는데 성공했고, 이어서 YAPP 23기에 iOS 개발 직군 운영진으로 참여하고 있습니다. YAPP IT 동아리 iOS 직군 면접관으로 면접을 참여해보며 느낀 경험과 생각을 기록해두고자 합니다. iOS 서류 지원 단계, 면접 채용 플랫폼 선정 IT 동아리임에도 서류 지원자는 대학생, 현업자 합쳐서 수십분이 지원을 해주셨습니다. 비경력자로 지원하셨음에도 경력자 못지 않는 분들도 많아서 놀랐어요. iOS 면접 채용 플랫폼으로는 나인하이어를 사용했습니다. 동아리 면접에 유료 서비스를 사용하는 것이 쉽지 않기 때문에, 무료체험이 가능한 채용 플랫폼을 사용했어요. 지금은 무료체험 기간이 종료되어서 페이지를 볼 수가 없..
AsyncStream structure 정의 swift 5.5 부터 소개된 Swift Conrreucy의 개념으로 AsyncStream이 있습니다. iOS13부터 지원을 하고 있습니다. AsyncStream은 클로저를 통해 생성된 비동기 시퀀스를 정의합니다. AsyncStream을 통해 제공되는 closure 내에서 continuation을 통해 다수의 새로운 값을 생산하고, 이를 async 하게 처리할 수 있습니다. AsyncStream은 구조체로 정의되어 있으며, Element라는 제네릭 타입을 갖고 있습니다. Overview AsyncStream은 기본적으로 AsyncSequence를 준수하고 있습니다. AsyncSequence를 준수하기 위해서는 몇가지 사항을 준수해야하는데, 이를 수동적으로 준수..
스레드의 동시 접근으로 생기는 문제점인 Data Races 문제를 해결하기 위해서 사용할 수 있는 프로토콜이 있습니다. Swift Concurrency 관련해서 생긴 새로운 타입인 Actor도 이 protocol을 채택하고 있는데요. 오늘은 Sendable protocol 문서를 읽어보고자 합니다. Sendable protocol의 요약 설명을 보면, 복사에 의해 Concurrency 도메인 간에 값을 안전하게 전달할 수 있도록 한다고 하는데, 문서를 보도록 하겠습니다. 동시성 문제를 해결하는 Actor와 Sendable protocol의 관계 하나의 스레드에서 동시 접근을 해버리면 예기치못한 동작을 야기할 수 있습니다. 대표적인 예사가 은행송금 문제입니다. 만약에 잔고가 100만원이 있는데, 동시에 ..
- Total
- Today
- Yesterday
- ios
- 프로토콜
- Collection
- swift string
- swift알고리즘
- swift reduce
- CoreML
- 개발자문서
- publisher
- 프로그래머스
- createML
- swift
- Protocol
- swift언어
- 자연어처리
- SwiftUI
- uikit
- 스위프트
- swift문제
- 알고리즘문제
- 컬렉션
- 백준swift
- 부스트코스
- 김프매매
- Swift 알고리즘
- swift 문자열
- 백준알고리즘
- 프로그래머스swift
- 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 |