swift33 Swift concurrency: Behind the scenes https://developer.apple.com/videos/play/wwdc2021/10254/ Swift concurrency: Behind the scenes - WWDC21 - Videos - Apple Developer Dive into the details of Swift concurrency and discover how Swift provides greater safety from data races and thread explosion while... developer.apple.com Threading model 나만의 뉴스 피드 리더 앱을 만들고 있다고 가정하자 이 앱을 GCD 기반에서 Swift Concurrency로 전환해 보자! 메인 스레드에서는 User Interface를 담.. 2023. 9. 13. Protect mutable state with Swift actors https://developer.apple.com/videos/play/wwdc2021/10133/ Protect mutable state with Swift actors - WWDC21 - Videos - Apple Developer Data races occur when two separate threads concurrently access the same mutable state. They are trivial to construct, but are notoriously... developer.apple.com 동시성 프로그래밍을 할 때 근본적으로 어려운 문제 중 하나는 Data race를 피하는 것이다. Data race는 두 개의 개별 스레드가 동시에 동일한 데이터에 엑세스하고 이러한 접근 중.. 2023. 8. 31. iOS - Compositional Layout을 적용해 보자! 목표 UI 최근 진행중인 프로젝트에서 제가 맡은 뷰의 UI입니다. 상하 스크롤이 가능해야 하고 가운데에 있는 공식 홈페이지~크루 버튼 부분은 가로 스크롤이 가능해야 했습니다. 이 뷰를 구현하는 방법은 다양합니다. UIScrollView로 만들고 그 안에 여러 버튼들을 직접 전부 구현해서 넣기 UICollectionView 또는 UITableView로 만들고 Cell로 내부 UI들 처리 + 가로 스크롤이 필요한 부분은 Cell안에 CollectionView추가 UICollectionViewComposionalLayout 사용 저는 3번인 CompositionalLayout을 사용하는 것으로 정했습니다. 그 이유는 ComposotionalLayout이 이번 예시처럼 스크롤 영역이 중첩되는 뷰를 구현할 때 매.. 2023. 8. 3. [iOS] SOPT - Swift 에러 핸들링 with Combine + Clean Architecture 사건의 발단 작년부터 계속 개발 중인 프로젝트에서 에러 핸들링에 대한 필요성이 계속 커져가고 있었습니다. 동아리원들을 위한 앱인데 사용자가 점점 늘어나서 수백 명이 되었고 팀원들 모두 전혀 예상하지 못했던 여러 가지의 버그가 발생하기 시작했습니다. SOPT 에서는 매주 토요일마다 세미나가 열리는데 이 때 동아리원들이 출석 체크를 쉽게 하도록 도와주는 기능을 추가되어 배포된 상태였습니다. 출석 시간인 토요일 14시에 무조건 앱이 잘 동작해야만 하는 상황이었는데....,,... 역시나 첫 대규모 사용인데 무사히 넘어갈리가 없었다...ㅎㅎ 그동안 에러 처리를 제대로 안했기 때문에 발생하는 일들이었고 당연하게도 에러 처리가 부족했기 때문에 버그를 잡는 것도 쉽지 않았습니다. 사진을 보면 다들 네트워크 오류라는 .. 2023. 7. 30. [Swift] iOS 네이버 지도 SDK - 지도 뷰 커스텀 https://lsj8706.tistory.com/46 이전 글인 지도 마커(Marker) 커스텀에서 이어집니다. 기능 요구 사항 네이버 지도 SDK를 활용한 앱에서 지도를 커스텀한 과정을 공유해 보고자 합니다. 프로젝트의 주요 서비스는 달리기 코스를 직접 그리고 공유하는 기능이었습니다! 따라서 지도가 필요했고 저는 네이버 지도 SDK를 선택하여 사용했습니다. 당연하게도 디자이너분들이 SDK의 기본 UI가 아닌 저희 프로젝트만의 UI를 만들어 주셨고 저는 iOS 네이버 지도 SDK를 활용하여 요구사항에 맞는 지도 뷰를 구현해야 했습니다..! 위처럼 대충보기에는 비슷하지만 세부 기능과 형태가 다른 지도 뷰들이 요구사항으로 들어왔습니다. 마지막 5, 6번 뷰의 지도는 이미지 뷰입니다. 따라서 사용자가 그린 .. 2023. 7. 12. [Swift] iOS 네이버 지도 SDK - 마커 커스텀 최근에 진행한 프로젝트에서 네이버 지도 SDK를 사용하여 기능을 구현해야 했었습니다. 사용자가 직접 지도를 터치하여 달리기 코스를 그리는 것이 주요 요구사항이었습니다. 구현해야 하는 디자인은 다음과 같습니다. 요구사항 처음 입력받은 좌표는 출발지로 설정해야 한다. ➡️ 출발이라는 말풍선 이미지를 포함해야 하고 다른 마커들과 UI가 다르다. 특정 뷰에서는 출발지 마커에 말풍선이 없어져야 한다. 그 이후 사용자가 터치해서 생기는 마커들은 테두리가 있는 작은 원 모양이다. 위와 같이 크게 3개의 요구사항으로 정리할 수 있었습니다! 그렇다면 제가 구현해야 할 마커는 출발지 마커와 경유지 마커입니다. 구현 사용한 NMapsMap SDK 버전 : 3.16.1 네이버 지도 SDK는 다양한 기능을 제공하고 있고 마커.. 2023. 7. 12. 이전 1 2 3 4 5 6 다음