일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 앱개발
- 프로그래머스
- iOS개발
- 정렬
- 백준온라인저지
- 파이썬
- Autolayout
- 파이썬 풀이
- swift
- 오토레이아웃
- Clean Architecture
- Kotlin
- Swift공부
- BFS
- 그리디 알고리즘
- dfs
- 알고리즘
- ios
- 안드로이드 공부
- 알고리즘 공부
- Algorithm
- 백준 온라인 저지
- error
- 공부
- greedy algorithm
- Python
- SwiftUI
- UIKit
- Android
- Level 1
- Today
- Total
목록swift (34)
Tori의 개발 공부
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42628🛠 문제 상황프로그래머스에서 해당 문제를 풀기 위해서는 최댓값과 최솟값을 모두 O(1)로 조회하면서도 O(log N)으로 삽입/삭제가 가능한 자료구조가 필요했습니다.기존의 단일 우선순위 큐(Heap)만으로는 한쪽 방향의 정렬만 유지할 수 있어, 최댓값과 최솟값을 동시에 효율적으로 관리할 수 없었습니다.✅ 해결 방법최대 힙(Max Heap)과 최소 힙(Min Heap)을 동시에 유지하는 Dual Heap을 구현했습니다. 이중 우선순위 큐는 두 개의 힙을 사용하여 최댓값과 최솟값을 빠르게 찾을 수 있도록 합니다.📌 핵심 아이디어최소 힙(minHeap): 최솟값을 빠르게 조회하기 위한 ..
🛠 문제 상황WebSocket 서비스를 구현할 때, 서버 URL을 번들에서 가져와 초기화하는 과정이 필요했습니다.서버 URL은 연결을 위해 필수적이므로 init 과정에서 초기화하도록 설계하고 싶었습니다.하지만 번들에서 URL을 가져오는 과정에서 다음과 같은 문제가 발생할 가능성이 있었습니다.번들 내 plist 또는 설정 파일에서 URL이 누락되었을 경우가져온 URL이 유효한 형식이 아닐 경우URL을 가져오는 과정에서 예기치 못한 오류가 발생할 경우따라서init 과정에서 URL 유효성을 검사하고 문제가 발생할 경우 적절한 핸들링을 하도록 처리하여야 했습니다. ✅ 해결 방법WebSocket 서비스 클래스를 만들 때, 초기화 과정에서 URL 유효성 검사를 수행하고,문제가 발생하면 throws를 활용해 예외..
프로젝트 진행 시 로컬 데이터베이스로 Realm을 사용해 보기로 하였고 간단한 Todo app이었기에 내가 SwiftUI를 진행하면서 늘 해오던 방식대로 ContentView -> TodoView(List) -> RowView로 연결되어 있었고 세 뷰는 가장 상위 앱단위에서StateObject로 선언한 TodoStore 즉 뷰 모델을 environmentObject로 주입시켜준 상태였다. Realm 가이드를 참조하여 기존 Todo 모델을 Object 클래스로 변경하고 ViewModel에 있던 Todo 리스트를 Object 리스트로 변경 후 CRUD를 구현했을 때 ADD까지는 진행이 되었으나 삭제 시 다음과 같은 에러가 발생하면서 앱이 중단되는 상황이 발생했다.Terminating app due to un..

향상된 사용자 경험을 제공하기 위해서 다크 모드에 대해 적절한 대응을 해야 한다. SwiftUI를 통해 프로젝트를 진행하면서 다크 모드에 대응하는 방법을 알아볼까 한다. 생각보다 엄청 단순했다. 바로 ColorScheme를 이용하는 방법이다. colorScheme | Apple Developer Documentation colorScheme | Apple Developer Documentation The color scheme of this environment. developer.apple.com ColorScheme는 화면 모드에 관련된 환경 변수이다. 이를 통해 현재 컬러스킴값을 가져오는 것은 물론 뷰의 환경값이 변경되면 이를 감지하여 뷰에 반영을 해준다. 이를 통해 한번 뷰를 간단하게 구현해 보겠..