반응형

전체 글 36

SwiftUI - Combine (1) 소개 Combine을 사용하는 이유

SwiftUI로 iOS개발을 하다보면 자연스럽게 Combine을 접하게 됩니다. 사실 Combine에 대해 정확한 개념이 없더라도 개발하는데에 있어서 크게 무리가 없었어요. 하지만 큰 프로젝트를 진행하면서 시간의 흐름에 따른 값 처리 같은 부분, 코드의 퀄리티 등을 높이기 위해 Combine을 깊게 학습할 필요가 있다고 생각이 들어 Combine에 대한 공부를 시작해 보려고 합니다. 이번 글에서는 Combine에 대한 간단한 정의? 로 적어볼까 합니다! Combine? Apple에서는 Combine을 다음과 같이 설명합니다. 시간의 흐름에 따라 발생하는 이벤트를 처리하기 위한 Swift API Combine은 RxSwift와 유사한 Reactive Programming 라이브러리 입니다. 함수형 Reac..

ios/Combine 2022.01.18

SwiftUI - 네비게이션바 색상 동적으로 변경하기

SwiftUI로 개발을 하다보면 네비게이션 바를 커스텀 색상으로 바꾸어야 할 경우가 생깁니다. 예를 들면 특정 색을 가지고있다가 특정 뷰에서만 투명하게 처리한다던지... UINavigationController를 extension한 후 viewDidload()를 override하여 사용할 수 있어요. View에서 편하게 사용하기 위해 View안에 NotificationCenter로 구현하여 사용합니다! extension View { func setNavigationBarColor(color: Color) { DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) { NotificationCenter.defualt.post( name: NSNotification...

ios/swiftUI 2022.01.06

[Swift] Swift의 비동기 처리 (2) DispatchQueue.main

안녕하세요🐱 이번에는 GCD에 포함되어 있는 DispatchQue.main에 대해 다루어 보려고 합니다. DispatchQueue.main는 메인 스레드에서 처리되는 Serial queue입니다. 모든 UI 작업이 여기서 수행해야 합니다. sync, async // 1 DispatchQueue.main.sync { // code } // 2 DispatchQueue.main.async { // code } 먼저 sync는 동기, async는 비동기 실행이겠죠? 1) DispatchQueue.main.sync 작업이 다 끝날 때 까지 현재의 queue는 block되어 기다립니다. DispatchQueue.main.sync는 메인 Thread에서 순차적으로 해당 코드를 실행해라! 라는 의미가 되지만 그냥 ..

ios 2021.12.23

[Swift] Swift의 비동기 처리 (1) GCD, Thread, Process

HTTP 통신을 하다보면 자연스럽게 비동기 처리를 접하게 되는데요. (대표적인 HTTP 통신 라이브러리 Alamofire) 비동기 처리를 함으로써 특정 수행 작업을 하는 중간에 계속해서 다른 작업을 할 수 있게 됩니다. 앱에서 특히나 비동기 처리가 중요한 이유는 앱 사용 도중에 속도가 느려지거나 부자연스러운 UX가 보일 경우 이용자가 크게 거부감이 느껴지기 때문입니다. GCD(Grand Central Dispatch) - GCD는 비동기 작업을 관리하기 위한 강력한 도구입니다. 평소 자연스럽게 사용했던 DispatchQue.main.async 등등... - 사용하기 쉬운 장점이 있습니다. 동기성에 대해 설명하기 전에 먼저 집고 넘어가야 할 부분이 Process와 Thread입니다. - Process는 ..

ios 2021.12.22

Xcode 13.2 - Internal error: missingPackageDescriptionModule

Xcode 13.2 버전 업데이트 후 발생하는 오류 애플 공식 답변 - We're currently investigating this issue — thank you to those who have filed bug reports so far. To workaround this issue, please re-download Xcode 13.2 directly from Releases section of the Apple Developer website. This information is also captured in the Xcode 13.2 Release Notes. If you still encounter this issue after downloading that specific version o..

ios/Xcode 2021.12.18
반응형