본문 바로가기
반응형

iOS23

[Swift] Swift와 Alamofire를 사용한 네트워크 요청의 단위 테스트(Unit Testing) 구현하기 안녕하세요, 오늘은 iOS 개발 과정에서 매우 중요한 부분인 테스트 코드 작성에 대해 이야기하려고 합니다. 개발을 하면서 제가 테스트 코드를 시작하게 된 가장 큰 이유는 '신뢰성 있는 앱 구축'과 '향후 유지보수의 용이성'을 보장받기 위해서였습니다. 특히, 네트워크 호출과 같이 외부 시스템과 상호작용하는 부분은 앱의 안정성을 크게 좌우하기 때문에 이를 검증하는 것이 필수적이라고 느꼈습니다. 1.테스트 코드의 필요성과 함수 설명 테스트 코드는 작성한 코드가 예상대로 동작하는지 확인하는 데 도움이 되며, 앱의 기능이 올바르게 동작하는지 확인하고 버그가 발생하지 않도록 예방합니다. 오늘 다루게 될 테스트는 Alamofire를 이용한 네트워크 요청에 초점을 맞추고 있습니다. 다음은 테스트 코드에서 사용할 주요 .. 2023. 10. 27.
[Swift] Swift에서 Equatable을 이해하고 적용하기 오늘은 Swift 개발자로서 반드시 알아야 할 기본적인 프로토콜 중 하나인 'Equatable'에 대해 이야기해보려고 합니다. Equatable 프로토콜은 객체 비교를 간단하게 만들어 주며, 특히 SwiftUI와 같은 최신 Swift 기술에서 중요한 역할을 합니다. 1.Equatable 이란? Equatable은 Swift 표준 라이브러리의 프로토콜 중 하나로, 사용자 정의 데이터 타입(클래스, 구조체 등)의 인스턴스 간에 동등 비교(==)를 가능하게 합니다. 기본 데이터 타입들은 이미 Equatable을 준수하고 있기 때문에, 우리는 문자열이나 정수 등을 쉽게 비교할 수 있습니다. let a = 5 let b = 5 print(a == b) // true 하지만, 사용자 정의 데이터 타입의 경우, 어떤.. 2023. 10. 26.
[Swift] Combine + Moya + Alamofire 조합해서 Request Response 받아보기 1. 서론 iOS 개발의 세계에서 네트워킹은 거의 모든 애플리케이션의 필수적인 부분입니다. 사용자의 요구를 충족시키기 위해 데이터를 신속하게 가져오고, 적절하게 처리하며, 더 나은 사용자 경험을 제공하는 것은 모바일 앱의 성공 여부를 결정짓는 중요한 요소 중 하나입니다. 이러한 맥락에서, 우리는 다양한 네트워킹 솔루션과 그것들이 어떻게 서로 상호 작용하는지를 이해할 필요가 있습니다. 이번 글에서는 Moya, Alamofire, 그리고 Combine의 조합을 통해 어떻게 더 견고하고 관리 가능한 네트워킹 계층을 구축할 수 있는지에 대해 논의해보겠습니다. 1) Alamofire 먼저, "Alamofire"는 Swift 기반으로 작성된 HTTP 네트워킹 라이브러리입니다. 이 라이브러리는 표준적인 HTTP 메서.. 2023. 10. 25.
[iOS/SwiftUI] @EnvironmentObject와 Singleton의 차이점 1. 목적: EnvironmentObject: SwiftUI view 계층 내에서 데이터를 공유하고 전달하는 목적으로 사용됩니다. 특정 뷰에서 제공되는 데이터나 상태를 자식 뷰들에게 전달하고 싶을 때 사용됩니다. 싱글톤: 앱 전체에서 하나의 인스턴스만 유지하고자 할 때 사용하는 디자인 패턴입니다. 앱의 여러 부분에서 동일한 정보나 설정, 리소스를 공유해야 할 때 사용됩니다. 2. 사용법: EnvironmentObject: 뷰 계층에서 .environmentObject(_:) 메서드를 사용하여 제공되고, @EnvironmentObject 속성 래퍼를 사용하여 해당 객체에 액세스합니다. 싱글톤: 특정 클래스에서 static shared 변수나 메서드를 통해 싱글톤 인스턴스에 액세스합니다. 1. Environ.. 2023. 10. 11.
반응형