반응형 swift29 URLCache URL Cache는 네트워크 요청에 대한 응답 데이터를 캐시하여, 동일한 요청에 대해 더 빠르고 효율적으로 응답을 제공하는 메커니즘입니다. URL Cache를 통해 네트워크 트래픽을 줄이고, 응답 시간을 단축하며, 앱의 성능을 향상시킬 수 있습니다. URL Cache의 주요 기능 1. 캐싱 정책: • URL Cache는 HTTP 응답 헤더에서 제공하는 캐싱 지침을 따릅니다. 이러한 지침은 서버가 클라이언트에게 응답을 캐시할지 여부와 캐시 기간을 알리는 방법입니다. • 대표적인 헤더: • Cache-Control: 캐시 동작을 제어하는 가장 일반적인 헤더. 예: no-cache, max-age, public, private. • Expires: 응답이 만료되는 날짜와 시간을 지정합니다. • ETag: 응.. 2024. 7. 1. @resultBuilder resultBuilder란? resultBuilder는 Swift 프로그래밍 언어에서 사용되는 특수한 기능으로, 여러 개의 값을 조합해서 하나의 결과를 만들어내는 방식입니다. 일종의 “레고 블록”을 쌓아서 하나의 완성된 모형을 만드는 것과 비슷합니다. 예를 들어, 우리는 여러 개의 작은 블록을 쌓아서 큰 집을 만들 수 있습니다. resultBuilder는 여러 개의 작은 값을 받아서 하나의 큰 값을 만들어내는 “건축가”와 같은 역할을 합니다. 비유를 통한 설명 우리가 집을 짓는다고 생각해봅시다. 집을 짓기 위해서는 벽돌, 창문, 문, 지붕 등이 필요하겠죠? 하나씩 모아서 집을 완성할 수 있습니다. 마찬가지로, resultBuilder는 여러 개의 값을 하나로 합쳐주는 기능을 제공합니다. 예를 들어, 여러.. 2024. 6. 26. MVP 패턴(Model, View, Presenter) for UIkit MVP 패턴의 유래MVP 패턴은 1990년대에 IBM의 개발자들이 "Taligent" 프로젝트에서 처음 개발한 것으로 알려져 있습니다. Taligent는 객체 지향 운영 체제와 개발 환경을 목표로 했던 프로젝트로, 여기서 MVP 패턴이 처음으로 소개되었습니다. 이후 다양한 애플리케이션 개발에 적용되면서 널리 사용되기 시작했습니다. MVP 패턴은 특히 안드로이드와 같은 모바일 애플리케이션 개발에서 많이 사용되며, 이는 MVC(Model-View-Controller) 패턴의 변형으로 간주될 수 있습니다. MVP(Model-View-Presenter) 패턴MVP 패턴은 소프트웨어 디자인 패턴 중 하나로, 사용자 인터페이스 로직을 분리하여 더 모듈화되고 유지 보수하기 쉬운 코드를 작성하는 데 도움을 줍니다. M.. 2024. 5. 31. UISheetPresentationController에 대해서 (iOS15이상) iOS 15의 도입으로 애플은 개발자들에게 강력한 새로운 도구를 제공했습니다. 이 컨트롤러를 사용하면 Apple 지도나 Safari와 같은 앱에서 사용자가 경험하는 것처럼 시트 형식으로 뷰 컨트롤러를 프레젠테이션할 수 있습니다. 이번 블로그 포스트에서는 UISheetPresentationController의 기능, 커스터마이징 옵션, 그리고 실용적인 사용 사례에 대해 살펴보겠습니다.UISheetPresentationController란?UISheetPresentationController는 iOS 15에서 도입된 새로운 프레젠테이션 컨트롤러입니다. 이 컨트롤러는 뷰 컨트롤러를 시트 형태로 프레젠테이션하며, 사용자는 이 시트를 상하로 끌어서 원하는 높이로 조절할 수 있습니다. 기본적으로 시트는 화면 하단에.. 2024. 5. 23. Swift Package Manager: Package.swift 간단 구조 정리 아래 다룰 주제 1. 디렉토리 구조와 Package.swift 안의 1:1 매칭 구조 2. Package class안에 들어가는 파라미터 1. 디렉토리 구조와 Package.swift 안의 1:1 매칭 구조 패키지 이름과 1:1 매칭 해당 라이브러리의 구현 타겟 설정 테스트 타겟은 "ExampleTarget"를 테스트하기 위해 의존성을 갖고 있다. 테스트 타겟 설정 2. Package class안에 들어가는 파라미터 name: Swift 패키지의 이름 products: 패키지가 제공하는 제품들의 목록 .library -> name: 라이브러리 이름 .library -> targets: 라이브러리 제품에 묶여 있는 타겟들. targets: 코드 모듈, 테스트 정의 .target -> name: 타겟 이름 .. 2024. 3. 26. [Localization] 다른 나라 언어 대응하기. (현지화) 이번 시간에는 앱에서 여러 국가의 언어를 대응하는 방법을 알아보려고 한다. (Xcode15.2를 기준으로 작성되었다) Xcode 실행 > 왼쪽 네비게이션 화면에서 Cmd + N 또는 File > New > File 선택 1. string 검색 2. String Catalog 선택후 Next 1. 원하는 이름 작성 (일반적으로는 Localizable로 그대로 둔다) 2. Create 버튼 선택 1. 생성된 Localizable 파일을 볼 수 있다. 선택한다. 2. + 버튼을 선택한다 3. 원하는 국가를 선택한다 (해당 예제에서는 ko를 선택함) English를 선택한다. 1. Key를 입력하면 시스템에서 국가에 맞게 해당 텍스트를 보여준다. Default로 설정된 English는 Key와 실제로 앱에 나타.. 2024. 3. 21. Swift5.9 Macro(매크로) 만들어보기 개발 중 반복적으로 사용되는 코드는 유지보수를 어렵게 하고, 새 기능 추가 시 모든 관련 부분을 수정해야 하는 번거로움이 있다. 이러한 반복적인 코드를 '보일러플레이트(Boilerplate)'라 부르며, 개발을 간편하게 하지만 코드 양과 복잡성을 증가시킬 수 있다. Swift5.9에서는 매크로를 통해 위 문제를 효과적으로 해결할 수 있는 방법을 제시했다. Swift 매크로를 사용하면 컴파일 시간에 반복적인 코드를 생성할 수 있어, 앱의 코드베이스를 더 표현적이고 읽기 쉽게 만들 수 있다. 또한 컴파일러를 수정하지 않고 Swift 패키지에 배포할 수 있다. 이 글에서 다룰 주제를 정리 했다. (Xcode15.2 기준) 0. 예시 소개 1. 매크로 만드는 방법과 실행 2. 매크로 동작 방식 3. 매크로 테.. 2024. 3. 18. Swift Package Manager(SPM)를 이용해서 라이브러리 만들기 Step By Step Swift Package Manager를 이용해서 내가 만든 소스코드를 라이브러리 형태로 배포하는 과정을 설명하려고 한다. 여러 유명 라이브러리 (Alamofire, Snapkit, RxSwift, Kingfisher, SDWebImage..)들도 SPM를 이용해서 배포를 하고 있다. 이 글에서는 Xcode15.2를 기준으로 작성 되었다. 1. Launchpad 선택 2. Xcode 실행 1. Xcode가 실행되면 모니터 왼쪽 최상단 File 메뉴를 선택 2. New 메뉴 선택 3. Package 메뉴 선택 1. Multiplatform 메뉴 선택 2. Library 선택 3. Next 선택 1. 패키지 이름을 작성 2. Source Control 생성 유무. Github에 해당 라이브러리를 올려서 배포.. 2024. 3. 15. 이전 1 2 3 4 다음 반응형