swift
-
[iOS] Swift에서 날짜 기반 채팅 목록 그룹화 개선하기 (Feat. 그룹화 우선순위의 오류, sortWeight)IT Study/iOS 2025. 1. 30. 17:01
ㅡAloneChat의 groupChatRoms() 정렬 문제 해결 과정에 대해 다루고 있습니다. 1. 문제 정의 : 연도별 정렬 오류AloneChat에는 채팅 목록을 날짜별로 그룹화하는 기능이 있습니다. 이 기능은 2024년 연말까지는 문제없는 듯 보였지만, 2025년 새해가 되면서(ㅋㅋ ㅠㅠ 바보...) 2024년 그룹이 2025년 1월보다 위에 표시되는 문제가 발생하였습니다. 내가 기대하는 정렬오늘어제02월 (2025년 2월)01월 (2025년 1월)2024년 (이전 연도는 한 그룹으로 묶음) 현재 코드에서 발생하는 문제2024년이 2025년 1월보다 위에 정렬되는 것이 문제가 됩니다. 2. 문제 원인 분석이전에는 Dictionary 형태로 반환한 뒤, Dictionary의 Key인 문자열(오늘,..
-
[iOS] 상수를 어떻게 관리해야할까 (Feat. struct, enum?)IT Study/iOS 2024. 12. 8. 13:55
상수룩... 조크로 시작합니다... iOS 앱 개발을 하다 보면 화면에 표시할 텍스트, 아이콘 이름, 컬러 값 등 변하지 않는 상수를 코드에서 자주 사용하게 됩니다. 이를 효율적으로 관리하기 위해 Swift에서 자주 사용하는 두 가지 방식이 있습니다. struct와 enum. 이번 글에서는 이 두 가지 방식의 차이점과 각각의 장단점을 비교해 보며, 어떤 상황에서 어떤 방식을 선택하는 것이 적합한지 알아보겠습니다. 1. 상수 관리를 왜 해야 할까?상수를 잘 관리하면 다음과 같은 이점이 있습니다.코드 가독성 향상 : 상수 이름만 보고도 의미를 쉽게 파악할 수 있다.재사용성 증가 : 중복 코드 제거, 수정 시 한 곳만 변경할 수 있다.유지보수 편의성 : 값 변경 시 모든 파일에서 검색하지 않아도 된다."편하..
-
[iOS] 디바이스에 데이터 저장하기 1탄 (Feat. UserDefaults)IT Study/iOS 2024. 10. 19. 22:15
안녕하세요, Three입니다.이번 글에서는 iOS 앱에서 데이터를 저장하는 다양한 방식과 함께, UserDefaults를 사용해 사용자의 테마 설정을 저장하고 관리하는 방법에 대해 소개하고자 합니다.그 전에 iOS의 데이터 저장 방식을 확인하고, 시작하도록 하겠습니다 😀 1. iOS 데이터 저장 방식앱 데이터와 사용자 데이터를 기기에 저장하는 방법은 여러 가지가 있습니다. 아래의 표로 간단히 특징들에 대해 알아보시죠.방법사용장점단점UserDefaults앱 설정 (테마, 음량, 언어)빠름, 간단보안 X, 오직 소규모 데이터File System이미지, 문서, 음악, 비디오파일 구조 관리 가능파일 관리 필요Core Data복잡한(관계형) 데이터 모델관계형 데이터 관리 용이학습 시간 소요Keychain비번,..
-
[iOS] SwiftUI의 상태 관리 (Feat. @State, @StateObject, @ObservedObject, @Published)IT Study/iOS 2024. 9. 22. 20:16
SwiftUI에서 상태 관리에 대해 알아보도록 하죠. 먼저 @State, @StateObject, @ObservedObject, @Published는 상태 변화를 관리하고 SwiftUI 뷰와의 데이터 바인딩을 위한 도구입니다. 각 역할을 이해하고 어떤 상황에서 어떤 속성을 사용해야 하는지 정확히 파악해보도록 하겠습니다.현재 제가 하고 있는 개인 프로젝트와 관련된 예시와 함께 보도록 하겠습니다. 1. @State개념@State 뷰 내부에서만 사용하는 상태를 저장, 관리하는 데 사용됩니다. 주로 간단한 데이터(숫자, 문자열, Bool 등)를 다룰 때 사용됩니다. @State로 선언된 변수는 뷰가 다시 렌더링될 때에도 상태를 유지하며, 상태가 변경되면 자동으로 뷰가 재렌더링됩니다. 예시struct MainV..
-
[Project/Android] `도전! 환경 지킴 방범대` 프로젝트 1 (Feat. 소개)Daily/Project 2023. 12. 12. 23:47
재활용을 위한 어플 `도전! 환경 지킴 방범대` 프로젝트를 시작했습니다. 👩👩👧👦 1. 함께 하는 팀원 프로젝트는 3명의 인원이 함께 진행하고 있습니다. (11월 8일에 기획을 시작하여, 벌써 프로젝트를 진행한 지 약 한 달이 되었네요...🫢) Android 개발자, 김한슬 (블로그의 주인, Three) iOS 개발자, 이완재 (꼼재, GGmj) 백엔드 개발자, 심봉교 (잘자심봉교, Sim) 🕹️ 2. 왜, 그리고 어떻게 진행하는가? "개인이 재활용을 재밌게 하는 방법이 무엇이 있을까?" 개인이 게임을 통해 재활용과 플로깅을 쉽고 재미있게 접할 수 있도록 만들고자 시작하게 되었습니다. 또한 자신이 원하는 스택으로 개발을 진행해 보자 시작했으며, 구글 스토어 및 앱 스토어에 출시하기 위해 시작하였습니..