iOS 개발을 할때 운영하는 프로젝트에 TDD를 적용할 수 있는데요. TDD란 Test Driven Development라고 합니다. 테스트코드를 작성하고, 테스트 자동화 적용을 통해서 개발자가 작성한 코드의 신뢰도를 향상시킬 수 있습니다. 오늘은 간단하게 Xcode에서 iOS앱 테스트코드 작성을 위해 단위테스트, UI 테스트를 위해 사용할 수 있는 UnitTest, UITest Target을 생성하고, 테스트코드를 작성할 준비를 하는 방법을 알아보겠습니다. iOS 프로젝트 신규 생성 시에 Test Target 생성 하는 방법 Xcode 실행 -> Command + Shift + N 을 하면 프로젝트 생성 페이지가 나옵니다. 이후 프로젝트 이름을 설정하는 페이지 하단에 Include Tests 혹은 Te..
오늘은 iOS Combine framework operator 연산자 중, 여러 Publisher이벤트를 시간순으로 합져서 받기 위해 사용할 수 있는 merge(with:)에 대해서 예제와 함께 다뤄보겠습니다. 😁 iOS Combine, Publisher들의 이벤트를 merge 할때 사용하는 merge(with:) 공식 문서의 예시 참고하여 알아보기 merge(with:) 연산자는 인자로 Publisher를 받습니다. 그렇게 A, B Publisher가 있다고 할때, A.merge(with: B) 와 같이 될 수 있는 것인데요. 이렇게 되면, 하나의 stream을 통해 A, B가 방출하는 이벤트를 시간순으로 함께 받을 수 있게 됩니다. 그 아래 merge(with) 과 관련된 공식 문서에 나온 예시를 보..
Announcing the Reducer Protocol Today we are releasing the biggest update to the Composable Architecture ever, completely reimagining how features are built with the library. www.pointfree.co 작년 10월에 The Composable Architecture 0.41.0 버전과 함께 Reducer Protocol이 소개되었습니다. ReducerProtocol 사용을 위해서는 swift 5.6 버전 이상이 필요합니다.(ReducerProtocol 채택 후 구성을 할때, opaque type 문법 까지 온전히 활용하기 위해서는 5.7 버전 이상이 필요) 오늘은 ..
iOS 앱 개발 간 font 속성을 커스터마이징 하고 싶을때가 있는데요. 오늘은 Font Asset을 추가해서 Font를 설정하는 ViewModifier를 정의 후 SwiftUI Text View에 적용하는 방법을 알아보겠습니다. Xcode Project에 Font Asset 추가하기 otf 맥용 폰트 확장자 등의 형태를 가진 파일을 먼저 준비해줍니다. 그리고 Xcode의 앱 프로젝트 하위 경로에 Fonts 폴더를 만들어서 안에 드래깅 해서 폰트를 추가해줍니다. 각각의 폰트 Asset에 대한 App Target이 체크되어있는지도 확인해줍니다. 이어서 commend+shift+O 버튼을 누른 후, 본인이 개발하는 앱 타겟의 info.plist를 검색 후 해당 파일 화면으로 이동합니다. property li..
- Total
- Today
- Yesterday
- swift 기초
- Protocol
- publisher
- 알고리즘문제
- swift 문자열
- 자연어처리
- swift reduce
- 컬렉션
- 백준swift
- 알고리즘
- swift문제
- 부스트코스
- 스위프트
- swift string
- 개발자문서
- swift언어
- uikit
- SwiftUI
- createML
- 김프매매
- Swift 알고리즘
- 프로그래머스
- swift알고리즘
- 백준알고리즘
- ios
- 프로그래머스swift
- 프로토콜
- CoreML
- Collection
- swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |