앱개발자 3

[Swift] 누구를 위하여 async/await는 울리나

Q. Swift에 async/await가 도입된 시기는 언제이며, 무엇을 대체하기 위해 등장하였는지 알려줘 A. Swift에 async/await가 도입된 시기는 2021년 WWDC(애플의 개발자 대회)에서 발표되었습니다. 이는 Swift 5.5에서 새로 추가된 기능으로, 애플이 개발한 비동기 프로그래밍 모델입니다. async/await는 Swift에서 비동기 코드를 작성하기 위한 새로운 방법으로, 기존의 GCD(Grand Central Dispatch)와 같은 비동기 프로그래밍 패턴을 대체하기 위해 등장했습니다. GCD는 불편하고 복잡한 코드를 만들기 쉬웠기 때문에, Swift에서는 간단하고 직관적인 코드를 작성할 수 있도록 async/await를 도입했습니다. 또한, async/await는 비동기적인..

iOS/Common 2023.03.22

[Swift] lazy 왜 쓰나요?

우리 iOS 개발할 때 이런식으로 lazy 많이 쓰지요? private lazy var sampleLabel: UILable = { let label = UILabel() label.text = "lazy 왜 쓰나요?" label.textColor = UIColor.systemBlue return label }() 그런데 lazy를 왜 쓰는지 알고 계신가요? lazy 키워드를 사용하는 프로퍼티를 지연 저장 프로퍼티(Lazy Stroed Property)라고 합니다. 지연 저장 프로퍼티는 호출이 있어야만 값을 초기화 하는 특성을 가지고 있습니다. 좀 더 자세히 설명해 봅시다. 우리가 인스턴스를 초기화 하는 과정에서 언제나 모든 저장 프로퍼티가 동시에 초기화 될 필요가 없는 상황이 분명히 있겠지요? 그럴 때..

iOS/Common 2022.05.13

[RxSwift] RxSwift 왜 써야 하나요?

* 본 내용은 RxSwift의 Documentation에 있는 Why.md 문서를 번역한 내용입니다. 다소간의 부정확한 의역이 포함될 수 있으니 위 이미지를 클릭하셔서 원문을 확인하시기를 권장합니다! Rx(Reactive Extensions) 왜 쓰냐면요 Rx를 사용하면 앱을 선언형 프로그래밍의 방식으로 만들 수 있습니다. Bindings Observable.combineLatest(firstName.rx.text, lastName.rx.text) { $0 + " " + $1 } .map { "Greetings, \($0)" } .bind(to: greetingLabel.rx.text) UITableView와 UICollectionView를 구현할 때도 활용할 수 있습니다. viewModel .rows ..