반응형 전체 글63 UISheetPresentationController에 대해서 (iOS15이상) iOS 15의 도입으로 애플은 개발자들에게 강력한 새로운 도구를 제공했습니다. 이 컨트롤러를 사용하면 Apple 지도나 Safari와 같은 앱에서 사용자가 경험하는 것처럼 시트 형식으로 뷰 컨트롤러를 프레젠테이션할 수 있습니다. 이번 블로그 포스트에서는 UISheetPresentationController의 기능, 커스터마이징 옵션, 그리고 실용적인 사용 사례에 대해 살펴보겠습니다.UISheetPresentationController란?UISheetPresentationController는 iOS 15에서 도입된 새로운 프레젠테이션 컨트롤러입니다. 이 컨트롤러는 뷰 컨트롤러를 시트 형태로 프레젠테이션하며, 사용자는 이 시트를 상하로 끌어서 원하는 높이로 조절할 수 있습니다. 기본적으로 시트는 화면 하단에.. 2024. 5. 23. 생성 패턴 - 빌더 패턴 (Builder Pattern) Swift에서 빌더 패턴의 이해와 적용 프로그래밍에서 객체의 생성과 설정 과정은 때때로 복잡하고 오류가 발생하기 쉬운 작업이 될 수 있다. 특히 객체가 다양한 속성과 설정을 필요로 할 때, 그 과정은 더욱 까다로워진다. 이러한 문제를 해결하기 위해 빌더 패턴을 사용할 수 있다. 빌더 패턴의 핵심 아이디어는 객체의 생성과 설정 과정을 객체 자체가 아닌 별도의 '빌더' 타입이 수행하게 하는 것. 장점 1. 객체는 불변성을 유지. 2.생성 과정에서의 오류 가능성을 최소화 3. 가독성 향상: 빌더 패턴을 사용하면, 객체의 생성과 설정이 메소드 체이닝을 통해 순차적 이루어짐. 이는 코드의 가독성을 크게 향상시키며, 유지 보수 시에도 이점을 제공함. 4. 불변성 유지: 객체가 한 번 생성된 후에는 변경되지 않습니.. 2024. 4. 2. 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를 이용한 생성 및 Package추가 아래는 Swift Package Manager를 사용해서 생성부터 추가까지 링크를 정리 했다. Swift Package Manager(SPM)를 이용해서 라이브러리 만들기 Step By Step 출처: https://leviblog.tistory.com/34 Swift Package Manager(SPM)를 이용한 라이브러리 사용 방법 출처: https://leviblog.tistory.com/33 2024. 3. 15. 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. Swift Package Manager(SPM)를 이용한 라이브러리 사용 방법 Swift Package Manager(SPM)는 Swift 언어를 위한 패키지 관리 도구다. 여기서 패키지 관리자란, 프로젝트에서 사용하는 외부 라이브러리나 프레임워크를 편리하게 관리할 수 있게 도와주는 도구를 말한다. 필요한 라이브러리를 쉽게 찾고, 추가하며, 업데이트할 수 있다. CocoaPods, Carthage와 같은 기존 의존성 관리 도구가 있지만, SPM은 편의성과 빌드 속도의 이점을 가져 갈 수 있다. 또한 애플에서 직접 제공하는 1st party 의존성 도구이므로 사용성이 높아지고 있다. Swift Package Manager는 Swift 언어에 내장된 도구로, Xcode와 함께 자연스럽게 통합되어 사용할 수 있다. 참고로, 다른 언어의 패키지 관리 도구로는 JavaScript의 npm,.. 2024. 3. 14. 이전 1 2 3 4 5 6 7 8 다음 반응형