Swift에서 빌더 패턴의 이해와 적용 프로그래밍에서 객체의 생성과 설정 과정은 때때로 복잡하고 오류가 발생하기 쉬운 작업이 될 수 있다. 특히 객체가 다양한 속성과 설정을 필요로 할 때, 그 과정은 더욱 까다로워진다. 이러한 문제를 해결하기 위해 빌더 패턴을 사용할 수 있다. 빌더 패턴의 핵심 아이디어는 객체의 생성과 설정 과정을 객체 자체가 아닌 별도의 '빌더' 타입이 수행하게 하는 것. 장점 1. 객체는 불변성을 유지. 2.생성 과정에서의 오류 가능성을 최소화 3. 가독성 향상: 빌더 패턴을 사용하면, 객체의 생성과 설정이 메소드 체이닝을 통해 순차적 이루어짐. 이는 코드의 가독성을 크게 향상시키며, 유지 보수 시에도 이점을 제공함. 4. 불변성 유지: 객체가 한 번 생성된 후에는 변경되지 않습니..
아래 다룰 주제 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: 타겟 이름 ..
이번 시간에는 앱에서 여러 국가의 언어를 대응하는 방법을 알아보려고 한다. (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와 실제로 앱에 나타..
개발 중 반복적으로 사용되는 코드는 유지보수를 어렵게 하고, 새 기능 추가 시 모든 관련 부분을 수정해야 하는 번거로움이 있다. 이러한 반복적인 코드를 '보일러플레이트(Boilerplate)'라 부르며, 개발을 간편하게 하지만 코드 양과 복잡성을 증가시킬 수 있다. Swift5.9에서는 매크로를 통해 위 문제를 효과적으로 해결할 수 있는 방법을 제시했다. Swift 매크로를 사용하면 컴파일 시간에 반복적인 코드를 생성할 수 있어, 앱의 코드베이스를 더 표현적이고 읽기 쉽게 만들 수 있다. 또한 컴파일러를 수정하지 않고 Swift 패키지에 배포할 수 있다. 이 글에서 다룰 주제를 정리 했다. (Xcode15.2 기준) 0. 예시 소개 1. 매크로 만드는 방법과 실행 2. 매크로 동작 방식 3. 매크로 테..
아래는 Swift Package Manager를 사용해서 생성부터 추가까지 링크를 정리 했다. Swift Package Manager(SPM)를 이용해서 라이브러리 만들기 Step By Step 출처: https://leviblog.tistory.com/34 Swift Package Manager(SPM)를 이용한 라이브러리 사용 방법 출처: https://leviblog.tistory.com/33
Swift Package Manager(SPM)는 Swift 언어를 위한 패키지 관리 도구다. 여기서 패키지 관리자란, 프로젝트에서 사용하는 외부 라이브러리나 프레임워크를 편리하게 관리할 수 있게 도와주는 도구를 말한다. 필요한 라이브러리를 쉽게 찾고, 추가하며, 업데이트할 수 있다. CocoaPods, Carthage와 같은 기존 의존성 관리 도구가 있지만, SPM은 편의성과 빌드 속도의 이점을 가져 갈 수 있다. 또한 애플에서 직접 제공하는 1st party 의존성 도구이므로 사용성이 높아지고 있다. Swift Package Manager는 Swift 언어에 내장된 도구로, Xcode와 함께 자연스럽게 통합되어 사용할 수 있다. 참고로, 다른 언어의 패키지 관리 도구로는 JavaScript의 npm,..
MVVM (Model-View-ViewModel)은 UI 개발에 쓰이는 아키텍처 패턴이다. 이 패턴은 개발자가 비즈니스 로직과 사용자 인터페이스를 효율적으로 나눌 수 있게 만들어준다. 주로 세 부분으로 구성되어 있다. Model (모델): 앱의 데이터와 비즈니스 로직을 맡고 있다. 데이터 저장소, 모델, 서비스 등이 여기 포함되며, 데이터 처리 로직을 다룬다. View (뷰): 사용자가 보는 UI 부분이다. 뷰는 사용자의 앱 상호작용을 정의하고, MVVM에서는 뷰가 ViewModel을 통해 데이터를 보여주도록 설계되어 있다. ViewModel (뷰모델): 뷰와 모델 사이의 중간자 역할을 한다. 뷰모델은 뷰에 필요한 데이터와 명령을 제공하고, 뷰는 데이터 바인딩을 통해 모델의 상태 변경을 반영하거나 사용자..