본문 바로가기

Computer

(121)
iOS - Alamofire Retry 모바일 앱을 개발하다 보면 네트워크 요청이 실패하는 상황은 피할 수 없다. 토큰이 만료되거나, Wi-Fi와 LTE 사이를 오가다 순간적으로 연결이 끊기거나, 서버가 일시적으로 과부하 상태에 빠지는 등 이유는 다양한데 이때 앱이 즉시 "실패"를 사용자에게 보여주는 대신, 스스로 문제를 해결하고 다시 시도할 수 있다면 어떨까? Alamofire의 Retry 메커니즘이 바로 그 역할을 한다. 네트워크 통신에서 Retry는 일시적인 장애를 극복하고 서비스의 안정성을 높이는 아주 중요한 전략이기 때문에 자세히 알아보려고 한다. Alamofire - retry Alamofire 문서에서 아래와 같은 정보를 제공하고 있다. func retry(_ request: Request, for session: Session..
[iOS - Network(2)] URLSession, Alamofire, Moya (2) 안녕하세요 ! 🙇🏻‍♀️이전 Network 게시글에 부족한 부분이 많은 것 같아서 더 보완해서 자세하게 적어보려고 합니다.2024.05.16 - [📱 Mobile/iOS] - [iOS - Network] iOS에서 서버 통신 하는 방법 (URL Session, Alamofire, Moya) URLSessionApple이 제공하는 기본 API (별도의 라이브러리 설치 없이 바로 사용 가능)1. URLSession의 핵심 역할관련된 네트워크 데이터 전송 작업 그룹을 조정하는 객체비동기성 : 비동기 방식으로 동작 (네트워크 작업 중에도 앱의 UI가 멈추지 않음)유연한 결과 처리 : async/await, completion handler, delegate 패턴을 모두 지원함2. 세션의 종류 (URLSes..
정렬 알고리즘 (Bubble, Insertion, Selection) Swift Bubble Sort ① 두 인접한 데이터를 비교② 앞에 있는 데이터가 뒤에 있는 데이터보다 크면, 둘의 자리를 바꿔준다 func BubbleSort(_ array: inout [Int]) { let length: Int = array.count - 1 guard length > 1 else { return } for i in 0.. array[j + 1] { array.swapAt(j, j + 1) Swap = true } } if !Swap { break } }}var numArray = [3, 6, 12, 65, 23, 99, 25, ..
[iOS - SwiftUI] 계산기 만들기 SwiftUI로 계산기 만들기  Button 사이즈를 잡아주는 함수를 만든다. buttonWidth 같은 경우에는 0 버튼일 경우에는 다른 버튼들과는 다르게 넓은 width를 줘야하기 때문에 따로 조건을 넣어준다.  /// Button Widthfunc buttonWidth(item: CalculatorButton) -> CGFloat { // 0일 경우에만 넓은 width를 준다! if item == .zero { return ((UIScreen.main.bounds.width - (4 * 12)) / 4) * 2 } return (UIScreen.main.bounds.width - (5 * 12)) / 4}/// Button Heightfunc buttonHeight..
[iOS - HealthKit] HealthKit 데이터에 대해서 HealthKit HealthKit은 Apple이 iOS 기기에서 건강 및 피트니스 데이터를 수집하고 관리할 수 있도록 만든 프레임워크이다. HealthKit을 통해 앱과 기기 간의 데이터 통합을 용이하게 하여 유저들이 자신의 건강 정보를 체계적으로 모니터링하고 관리할 수 있다. HealthKit 데이터는 크게 HKObject를 상속받아 구현된다. HKSample : 시작 및 종료 시간과 관련된 HealthKit 샘플HKCharacteristic : 일반적으로 시간에 따라 변경되지 않는 데이터HealthKit dataCharacteristic dataCharacteristic data는 사용자 고유의 신체적 특성이나 변하지 않는 정보를 기록하는 데이터이다. 보통 한 번 설정되면 자주 변경되지 않는다. ..
[iOS - UIKit] TextField 입력에 따라 Button 활성화 유무 TextField 입력 시작 시 Button 상태 변경 Button의 활성화와 UI를 변경하는 함수 Code// textField 상태에 따라 LoginButton 상태 활성화 유func textFieldDidChangeSelection(_ textField: UITextField) { if (loginView.idTextField.text?.count ?? 0   TextField 입력 시작할때 테두리 적용 및 해제   Code// textField가 터치가 되면 테두리 설정func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { textField.layer.borderColor = UIColor.white.cgColor ..

728x90