내가 원하는건 ["도시1", "도시2", "도시3", "도시4"] 같이 보낸 순서와 맞게 도시날씨정보를 받고싶다. Zip 과 Merge 정의를 다시 보자 Merge 여러개의 Publisher 합쳐서 보낼때 마다 방출 각각 Publisher에서 한곳이라도 이벤트를 보내도 방출 https://developer.apple.com/documentation/combine/publisher/merge(with:)-7qt71 Zip 다른 Publisher 요소를 결합하고 튜플로 전달한다 각각 Publisher 이벤트를 한번씩은 보내야만 방출(정해지지않게 이벤트 보내도 각 Publisher 순으로 방출함) https://developer.apple.com/documentation/combine/publishers/me..

모 부트캠프를 다니는 동안 테스트 용이하도록 코드를 작성하도록 하라는 설명도 많이 들었기도 하며 나를 더욱더 성장하기 위해 유닛 테스트를 해야겠다는 마음을 먹고 있었다 해보려고 시도도 몇번 해보았지만 어렵게 느껴지고 이해도 되지 않아 주줌 하기도 했지만 이번 개인 프로젝트에는 꼭 적용시켜보자는 의지와 이전에 참고한 글들을 다시 또 보고 조금은 이해가 되기도 했다 우선적으로 테스트를 진행하고 싶었던 것은 네트워크 테스트였다. 앱을 개발하면서 앱이 네트워크에 의존이 많은것을 느껴 네트워크의 작성된 코드가 중요하다 생각되기 때문에 실제 네트워크에 요청하지 않아야 하는 이유 실제 서버와 통신하게되면 단위 테스트의 속도가 느려질 뿐만 아니라 인터넷 연결에 의존하기 때문에 테스트를 신뢰할 수 없다 실제 서버와 통신..
import Foundation var date = Date() let calendar = Calendar.current // 시작 날, 캘린터 현재 날을 뜻하는거같다 let startDay = Calendar.current.startOfDay(for: date) let endDay = Calendar.current.date(byAdding: .month, value: 1, to: startDay)! print(startDay, endDay) // 2021-08-17 15:00:00 +0000, 2021-09-17 15:00:00 +0000 현재 달의 첫날과 마지막 날 구하기 위해 쓰인 메소드 let interval = Calendar.current.dateInterval(of: .month, for: ..

개발 도중에 차트가 필요해서 라이브러리를 활용 하려고 했다 차트 UI를 구성 중에 BarChart가 가장 상승 하락을 표시하기 가장 적합하다 생각 했고 모서리를 둥글게 하는것이 현재 구현하고 있는 UI와 어울릴 것이라 판단되어 CornerRadius 를 찾아보았지만 BarChart에서는 기본적으로 CornerRadius 해주는것이 없다.. 해당 라이브러리의 issue, pull Reqeust를 뒤져보면 나처럼 CornerRadius에 대해 고민하고 해결방안을 제시한 사람들이 꽤 있다 stackoverflow에서도 해결방안으로 해당 라이브러리 pullRequest 링크를 올려져 있다 내가 해결한 방법은 해당 BarChartView를 Render 해주는 파일에서 직접 bar에 UIBezierPath를 지정하..

당근 마켓에 보면 상단에 탭바가 위치 한 것을 볼수 있다 CollectionView로 구현 한 것을 많이 볼 수 있는데 두 장단점이 있다 -장점 : CollectionView로 탭바를 구현한다면 많은 탭이 존재할때 유용할것이다 (예를 들면 쇼핑 앱) 글자의 길이 만큼 하단 라인을 줄 수 있을것 같다 -단점 : 구현이 조금 복잡? 하지않을까..? - 장점 : CollectionView보다 쉽다, 빠르게 탭바를 그리고 싶을때, 탭이 많이 존재하지 않는 경우 유용 - 단점: 글자 길이만큼 하단 라인 주기가 쉽지 않을것이다, 탭의 크기가 모두 일정할것이다. 어느것은 짧게,길게 불가능 이 글은 SegmentedControl를 이용해서 간단히 그리는 커스텀 탭바 만든 과정을 보여줄 예정이다. 구성은 Segmente..