iOS
-
Operator, Combine Framework in SwiftiOS 2022. 12. 11. 17:00
Combine 프레임워크는 앱이 이벤트를 처리하는 방법에 대한 선언적 접근 방식을 제공합니다. 지정된 이벤트 소스에 대해 단일 처리 체인, 즉 파이프라인을 만들 수 있습니다. 파이프라인은 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조로, 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성이 향상됩니다. 이러한 각 부분은 이전 단계에서 받은 요소에 대해 고유한 작업을 수행하는 Operator입니다. 예를 들어, Combine으로 구독할 수 있는 Notification을 생성했을 때, Notification을 받은 후 operator를 사용하여 이벤트 전달 내용을 사용자 정의하고 최종 결과를 사용하여 UI를 업데이트할 수 있습..
-
Publisher와 Subscriber, Combine Framework in SwiftiOS 2022. 12. 9. 01:48
Combine은 시간 경과에 따라 값을 처리하기 위한 프레임워크입니다. 이벤트 처리 코드를 중앙 집중화하고 Networking, Key-Value Observing, Notification 및 Callback과 같은 비동기적인 데이터의 흐름을 단순화하여 가독성이 좋아지고, 유지보수하기가 쉬워집니다. Combine Features Generic Combine은 swift로 작성되었습니다. 따라서 Generic과 같은 swift 기능을 활용할 수 있습니다. Type safe type safe하기 때문에, 런타임이 아닌 컴파일 시점에 오류를 포착할 수 있습니다. Composition first 핵심 개념(Publisher, Subscriber, Operator)은 간단하고 이해하기 쉬우며, 부분적인 기능들이 ..
-
Async/await in SwiftiOS 2022. 12. 3. 17:56
비동기 프로그래밍은 복잡해서 잘못된 비동기 코드를 작성하기 쉽습니다. 클로저가 중첩될수록 구조가 더욱 복잡해지며 이에 따라 에러 처리가 어려워지고, 실수로 결과 처리 블록을 빼먹을 수도 있습니다. 하지만 async/await로 이를 해결할 수 있을 뿐만이 아니라 코드도 간결해집니다. 기존에 completion handler로서 escaping closure를 매개변수로 받아 사용하던 것을, async/await 패턴을 사용하면 코드를 더 쉽게 읽고 이해할 수 있습니다. 이는 비동기 코드를 일반 코드처럼 작성할 수 있기 때문입니다. 따라서 코드를 작성하면서 혼란을 겪지 않으며, 의도를 더욱 정확하게 전달할 수 있습니다. 제가 기존의 방식으로 작성했던 코드에 async/await를 적용하면서 어떻게 변하는지..