전체 글
-
[RxSwift] UILabel이 subscribe를 사용할 수 없는 이유iOS 2024. 7. 31. 12:49
비동기 프로그래밍을 효과적으로 구현하고자 RxSwift와 RxCocoa에 의존성을 갖는 Swift 프로젝트에서는 UI객체들의 프로퍼티 값을 조회하여 값을 조작하거나 새로 설정하는 이벤트를 작성하기 위해 아래와 같은 코드를 자주 사용하게 된다. 예시 코드 testTextField.rx.text.subscribe { value in print("next - ", value)} onError: { error in print("error - ", error)} onCompleted: { print("competed")} onDisposed: { print("disposed")} 그런데 UITextField와 마찬가지로 UILabel 역시 text프로퍼티를 갖고 있지만 이 경우에는 아래 이미..
-
Alamofire를 구조화된 코드로 사용하기 (feat. URLRequsetConvertible)iOS 2024. 6. 19. 14:54
Alamofire를 사용해 API를 호출하는 작업을 여러번 해보면서 Alamofire의 request 함수를 호출하는 작업이 몇 가지 변수들의 조합으로 패턴화 된다는 생각이 들었다. 어떻게 하면 이 반복되는 패턴들을 효율적으로 처리할 수 있을 지 고민했던 흔적을 기록해보려 한다. 이 글을 읽으면 좋은 분들1. Almofire 사용시 반복적인 URL 문자열 선언 작업을 줄이고 싶은 분2. URLRequestConvertible의 사용법과 작동원리를 풀어쓴 글을 보고싶은 분 먼저 처음 alamofire를 사용하는 예시 코드를 살펴보는 것으로 본 포스트를 시작해보겠다. Alamofire request get request 호출 예시 let url = "https://API.example.com..
-
[UIKit] 화면전환 코드를 프로토콜로 사용하기iOS 2024. 6. 4. 18:56
UIKit을 공부하던 중 여러 뷰 컨트롤러에서 반복적으로 사용되는 화면 전환 코드들을 프로토콜로 작성해 한 파일에서 관리하면 보다 효율적인 코드를 작성할 수 있겠다는 생각이 들었다. 그러려면 프로젝트에 작성된 ViewController들을 부모인 UIViewController타입의 파라미터에 할당할 때 다운캐스팅을 하지 않아도 내부에 작성된 코드들이 정상적으로 실행될 수 있는 지 확인이 필요해 먼저 playground에서 테스트 코드를 작성해보았다. 테스트 결과를 바탕으로 아래와 같이 프로토콜을 작성하였다 화면 전환 프로토콜 protocol ViewTransition { func pushAfterView(view: UIViewController, backButton: Bool, anim..