
이번에 프로젝트에서 DTO를 적용하면서 Codable에 대해 이해하게 되었다. 그래서 이해한 걸 바탕으로 정리 해보려고 한다!! ✋ json이 뭐야?? json의 정의는 아래와 같다. JSON(JavaScript Object Notation)은 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 프로젝트를 진행할 때 api 요청과 응답 처리를 거의 밥먹듯이 하게 되는데 여기서 json 형식의 데이터를 다루는 과정을 거친다. 요즘은 거의 대부분 API 호출로 json 형식의 데이터를 받기 때문에 json 데이터를 다루는 것은 필수라고 생각한다. 🔎 Codable protocol Codable은 Decodable와 Encodable 프로토..

SwiftUI에서 NavigationLink에 Action을 추가하려고 하는데 계속 적용이 안 되는 게 문제였다. NavigationLink에 Action을 적용해보자!!!! 🔴 실패 처음에 .onTapGesture를 사용했는데 회원가입 Text를 클릭해도 아무 로직을 수행하지 않았다. .onTapGesture는 View에 직접적으로 TapGesture 동작을 추가하는 방법이라고 한다. : 해당 View가 탭되면 특정 작업을 수행할 수 있다. 아래 코드는 print()가 실행되지 않았다. 왜냐하면 NavigationLink라는 View를 탭하는 경우 로직이 수행되는데 NavigationLink를 View로 할 수 없기 때문이다. NavigationLink(destination: NumberVerifica..

iOS 면접 준비를 위한 2탄이다. iOS 앱의 생명주기에 대해 알아보자. - 아래 링크 참고 더보기 https://github.com/JeaSungLEE/iOSInterviewquestions iOS 앱의 Life Cycle 1️⃣ iOS 앱의 생명주기에 대해 설명해주세요. 앱의 생명주기란 앱의 실행/종료 및 앱이 Foreground/Background에 있을 때, 시스템이 발생시키는 이벤트에 의해 앱의 상태과 전환되는 일련의 과정을 뜻합니다. iOS 앱의 생명주기는 5개의 상태로 구분할 수 있지만, iOS 12 및 이전 버전은 AppDelegate를 iOS 13 및 이후 버전은 SceneDelegate로 처리합니다. Not Running Foreground - Inactive Foreground - ..
iOS 면접 준비를 위해 정리되어 있는 예상 질문을 참고로 하나씩 정리를 시작해보려 한다. - 아래 링크 참고 더보기 https://github.com/JeaSungLEE/iOSInterviewquestions 옵셔널 옵셔널 많이 사용했고, 개념도 나름 이해한다고 생각했는데 막상 질문에 답하려고 하니 대답할 자신이 없다,,, 1️⃣ Swift에서 옵셔널이란 무엇이며, 언제 사용해야 하나요? : 옵셔널은 Swift 언어의 중요한 특징 중 하나입니다. Swift는 변수나 상수가 값이 있을 수도 있고 없을 수도 있는 지를 명시적으로 표현하기 위해 옵셔널을 제공합니다. 즉, 값이 nil일 수 있는지 여부를 나타내며, nil은 "값이 없음" 을 나타냅니다. ✏️ 설명 더보기 옵셔널은 값이 있을 수도 있고, 없을 ..

swift에서 merge 오류 해결 방법에 대해 알아보도록 하자. 이번에 프로젝트를 진행하게 되면서 충돌이 밥 먹듯이 일어나다 보니 충돌 해결하는 건 거의 기본이 되었다. 일단 프로젝트에서 아래와 같이 branch를 나눠서 개발했다. main: 배포 가능한 상태의 코드만을 관리 dev: 개발 전용 branch, 기능 개발이 완료된 branch를 병합 이슈 기반 branch: 기능, 리팩토링, 버그 등을 관리 난 이슈 기반 branch에서 작업을 한 후, dev와 병합을 해야 하는 상황이었다. 근데 여기서 충돌이 일어나는 거~~~~~ 해결 방법에 대해 알아보자. 1️⃣ git pull 일단 dev와 병합을 해야하니 dev branch의 코드들을 pull 해온다. 그럼 아래와 같이 여러 충돌들이 남발할 것이..

프로젝트를 진행할 때 Font를 외부에서 가져와 사용해야 할 때가 많다. 나도 이번 프로젝트를 진행하면서 외부 Font를 다운받아 Xcode에 적용하여 사용했다 ㅎㅎㅎ 1️⃣ Font 다운받기 "Pretendard" Font를 아래의 사이트에서 다운받았다. 눈누 프리텐다드 - 길형진 (orioncactus) noonnu.cc 2️⃣ 다운로드한 Font Xcode에 넣기 사이트에서 다운받은 파일을 압축 해제하면 다음과 같은 otf 파일을 확인할 수 있다. otf 파일들을 모두 Xcode안에 넣어준다. 나는 [Resource - Fonts] 폴더 안에 넣어주었다. 📍 주의할 점! "Add to targets" 를 꼭 체크해줘야 한다. target 설정을 하지 않으면 추가한 Font를 Xcode에서 인식하지 ..
[SwiftUI] - Combine 예제 Combine의 개념은 이전에 간략하게 설명하여서 참고하면 좋겠다. [SwiftUI] - Combine이란? SwiftUI를 좀 더 깊게 이해하고 사용하기 위해서는 Combine에 대한 이해는 필수적이라고 한다. Combine 많이 들어는 steelbeartaeng2.tistory.com ✏️ ObservableObject란? ObservableObject를 구현하기 위해서는 3가지 요소를 사용해줘야 한다. 1️⃣ protocol ObservableObject : 상태를 관리하고 추적하는 데 사용 이 프로토콜을 채택하는 객체는 해당 객체의 속성이 변경될 때 마다 SwiftUI에게 해당 변경사항을 알린다. import SwiftUI class MyViewModel:..

Combine의 개념은 이전에 간략하게 설명하여서 참고하면 좋겠다. [SwiftUI] - Combine이란? SwiftUI를 좀 더 깊게 이해하고 사용하기 위해서는 Combine에 대한 이해는 필수적이라고 한다. Combine 많이 들어는 봤지만 이번 기회에 제대로 정리해보자. ✏️ Combine 애플 공식 문서에서 Combine에 대 steelbeartaeng2.tistory.com 이제 예제를 통해 Combine을 이해해보자~~ 예제는 아래의 블로그를 참고하였다. 더보기 https://slowsure.tistory.com/190 📝 기능 Button 클릭 시 count 증가 Reset 클릭 시 count 초기화 💻 Combine 예제 코드 ContentView import SwiftUI import ..