일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- class
- SWIFTUI
- PushNotification
- 화면전환
- 글또
- ScrollView
- uikit
- singleton
- 회고
- SWIFT
- viewlifecycle
- IOS
- escaping
- NotificationCenter
- mvvm
- Observer
- array
- Switch
- self
- struct
- Git
- http
- protocol
- apns
- error
- 고차함수
- calendar
- Refresh
- list
- segue
- Today
- Total
목록IOS (44)
seong_hye, the developer

📘자동 업데이트새로운 버전이 있을 때 사용자에게 알리고 업데이트를 유도하는 기능에 대해 정리해보려 함 🔹기본 흐름1. 현재 앱 버전 확인Bundle.main.infoDictionary를 통해 현재 버전 추출 2. 서버 / API에서 최신 버전확인App Sotre API를 통해 버전 정보 확인 3. 버전 비교현재 사용자 어플 버전(1번 값)과 앱 스토어 버전(2번 값)을 비교 4. 사용자에게 업데이트 유도버전 비교(3번 값)가 다를 경우 앱스토어로 이동하도록 유도 🔹사용자가 사용중인 현재 버전 가져오기let current = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String else { return } 🔹서버(App Store..

이번에 기술 면접을 보게 되면서 현재 내가 어떤 점이 부족한지 알게되는 기회가 되었다.그 중에서 클래스와 구조체가 어떤 차이가 있고 어떨 때 사용되는지에 대한 질문을 해주셨다.형식적으로 차이에 대해 알고 있었지만실제로 코드에서 활용시 어떻게 차이가 나는지를 알고 있지 않다는 점을 알게 되었다.https://programming-seonghye.tistory.com/15 Swift) 문법 정리 - 클래스(Class) vs 구조체(Struct)대부분의 언어에서 말하길 클래스는 프로그래밍의 패러다임이라고 말한다. 패러다임 어떤 한 시대 사람들의 견해나 사고를 지배하고 있는 이론적 틀이나 개념의 집합체 클래스를 도입하면서programming-seonghye.tistory.com이 경험을 바탕으로 한 번 클래스와..

협업을 진행하다보면 개발자마다 코딩 스타일이 다르고 성향이 다르다는 것을 알 수 있다.이런 경우 서로의 코드를 이해하는 데에도 많은 시간이 걸리고 후에 유지보수에도 어려움을 느낄 수 있다.이런 경우 코딩 컨벤션을 정해주면 협업에 큰 도움이 될 수 있다. 코딩 컨벤션이란?일종의 코딩 스탕일 규약으로 모든 구성원들이 읽고, 관리하기 쉬운 코드를 작성하는 것을 의미한다.이를 통해 잠재적인 오류를 줄일 수 있고, 가독성이 높아지게 되어다른 개발자가 작성한 코드를 이해하는 데에 도움을 주어 유지보수에도 도움이 된다. 코딩 컨벤션 가이드 중에는 린터(Linter)가 존재한다.린터는 스타일 가이드를 따르지 않은 코드를 찾아서 알려주는 도구로 사용하는 언어에 따라 다르다.이외에도 오류가 발생하거나 알려지지 않은 잘못 ..

캘린더를 사용하는 과정에서 다른 라이브러리를 사용하지 않고주간 캘린더를 어떻게 구현하면 좋을지 고민하며 공부한 내용을 정리해 보려 합니다. 날짜에 따른 데이터를 받아오는 기능을 만드는 과정에서FSCalendar 라이브러리를 사용했던 것을캘린더를 공부해서 직접 만들어보자 하는 생각이 들게 되었습니다.Calendar 날짜별 장식이 있는 일정관리를 표시하고, 단일 날짜 또는 여러 날짜를 사용자가 선택할 수 있도록 제공하는 기능으로캘린더 뷰를 사용하여 사용자가 커스터마이징한 추가 정보(ex_ 스케줄)가 있는 특정 날짜를 표시할 수 있습니다.또한 캘린더 뷰를 사용하여 하나의 특정 날짜, 여러 날짜 또는 날짜가 없는 날짜를 선택할 수 있습니다.단일 선택 주간 달력 뷰를 구현하기 위해 collectionView를 사..

우선 왜 코드를 나눠서 설계하려고 할까?여러명이서 하나의 거대한 앱을 만들게 됨(수만줄의 코드)-> 기준이나 룰에 따라 나누지 않으면 보기 힘듦-> 유지보수가 편해야하기 때문에 코드를 계층으로 분리하려함아키텍처란?하나의 서비스가 어떻게 구성이 되며 어떻게 동작이 되는지 즉 서비스의 동작 원리를 나타내는 것 좋은 아키텍처의 특징들단단하고/안정적, 모듈화 가능(재사용), 확장 용이(향후 확장성)테스트 가능(UI와 비즈니스 로직에서 강력/안정적), Decoupling (느슨한 결합) 등.. 올바른 아키텍처 선택의 기준- 유지보수 용이해야 한다.- 명확한 분리 기준: 단일 책임 원칙- 테스트 가능: TDD(테스트 주도 개발) / 유닛테스트 가능해야 (더 안전한 코드 작성 가능) 완벽한 / 절대적인 아키텍처는..

시작하게 된 과정 이번에 부트캠프에서 만든 앱 "피코 PICO"가 출시되었다. MBTI를 통해 나와 맞는 사람을 PICK!새로운 연인과 두근거리는 CONNECT! 위와 같은 컨셉을 바탕으로 매칭 어플을 출시하게 되었다.https://apps.apple.com/kr/app/%ED%94%BC%EC%BD%94-pico-pick-connect/id6473959557 피코 PICO: Pick & ConnectMBTI를 통해 나와 맞는 사람을 PICK! 새로운 연인과 두근거리는 CONNECT! MBTI와 맞춤 필터링으로 원하는 친구를 만나보세요! 인물사진을 인공지능으로 판별하고 휴대폰 인증으로 더욱 안전한 프로apps.apple.com 출시 후 수많은 오류와의 만남이 있었지만 그 중에서 쪽지에서 채팅으로 변화하..

📘 오류 해결) List Refreshable 오류앱을 만들던 중 List가 Refresh 되지 않는 오류가 있었다처음 딱 떴을 때 refresh가 되었으면 좋겠는데 되지 않고 계속 문제가 되는 부분이 있어서시도해 본 여러 방법과 해결방안에 대해 작성해보려 한다.🔹 현재 어플 및 코드 축약윗쪽 탭바와 그에 맞게 아래 리스트를 둔 화면을 만들고 싶어서다음과 같은 코드를 활용해 아래 화면을 제작하였다VStack { ScrollView(.horizontal) { ... } TabView( .. ) { List { ... } .refreshable { ... } ... }} ❌ 문제 상황탭을 눌러 처음..
📘 Attribute@attribute는 실제 키워드가 아닌 "속성"을 나타내는 표기 방식즉, @기호로 시작하는 것들을 통틀어 **Swift 속성"컴파일러나 런타임에게 특별한 의미를 부여하는 메타 정보 역할을 함 @attribute = 함수, 타입, 변수 등에 특수한 동작이나 정보를 부여하는 컴파일러 지시자 🔹주요 Swift Attribute 목록과 설명Attribute용도@available특정 OS 버전 이상에서만 사용 가능@discardableResult반환값을 사용하지 않아도 경고 발생 X@objcObjective-C와 상호 운용 (Selector 등)@IBAction, @IBOutlet스토리보드와 연결@StateSiwftUI 상태 변수 (UI를 다시 그림)@Binding부모 뷰로부터 전달받은 ..