일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- View Life Cycle
- Navigation
- NotificationCenter
- IOS
- viewcontroller
- Mock
- 책후기
- 독후감
- human interface guidelines
- 스위프트
- delegation
- 부트캠프
- Failed to register bundle identifier
- UIResponder
- contentInset
- @available
- SWIFTUI
- 야곰아카데미
- mvvm
- 스타트업주니어로살아남기
- 독서후기
- xcode
- NumberFormatter
- Structures and Classes
- 아이폰
- Modality
- roundingMode
- Info.plist
- SWIFT
- Codegen
- Today
- Total
목록IOS (19)
호댕의 iOS 개발

Swift Language Guide와 앨런 Swift 문법 마스터 강의를 바탕으로 작성한 글입니다. 앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) - 인프런 | 강의 Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을 www.inflearn.com Generics — The Swift Programming Language (Swift 5.7) Generics Generic code enables you to write flexible, reusable functions and types that can work with any type, s..

기존 프로젝트를 다시 MVVM + RxSwift로 리팩토링하면서 다시 Networking 작업을 하고 있다. 저번에는 네트워크와 관련된 테스트 코드를 짜지 못했었는데 이번에는 Stub을 이용해 네트워크에 연결되지 않는 상황에서 테스트를 할 수 있도록 구현했다. (일단 여기선 RxSwift만을 사용하고 기타 Moya나 Alamofire같은 네트워킹 관련 라이브러리는 사용하지 않았습니다) 여기서 사용하는 Stub은 테스트 더블이라 볼 수 있다. 즉, 테스트를 직접 진행하기 어려운 경우, 이를 대신해 테스트를 진행할 수 있는 객체를 따로 생성하는 것이다. 🤔 테스트 더블을 사용한 테스트 이유 그럼 네트워크 관련 테스트에서 Stub을 사용하는 이유는 뭘까? 네트워크를 사용할 때보다 테스트 속도가 빠르다 네트워크..

최근 10월 초부터 시작하여 4월 1일에 6개월 동안의 야곰 캠프가 마무리되었다. 진짜 시작할 때에는 6개월 동안 잘할 수 있을까 걱정과 고민이었는데 시간이 정말 후딱 지나간 것 같다. 그래서 캠프를 마무리한 시점에서 6개월 동안의 생활을 회고해보고자 한다. 🏃🏻 캠프의 시작 (나에 대해서) ⚠️ 캠프에 대해 궁금하시다면 넘어가셔도 좋습니다! (TMI가 많습니다) 일단 나는 비전공자로 이과도 아니었다. 부동산학과를 졸업하며 정말 주변에 개발을 하고 있는 사람, 공부하는 사람이 1도 없었다. 그렇게 21년 2월에 졸업을 하고 취업 준비를 하다가 우연히 다른 부트캠프에서 운영 매니저를 하며 인사(HR) 관련 업무를 담당하게 되었다. 자연스럽게 부트캠프에서 근무를 하게 되며 비전공자인데도 개발을 공부하는 사람..

Swift Programming LauguageGuide를 보고 작성한 글입니다. Extensions — The Swift Programming Language (Swift 5.7) Extensions Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend types for which you don’t have access to the original source code (known as retroactive modeling). Extensions docs.swift.org 📖 Extension은 뭘까? Extension은..

CoreData의 공식 문서를 살펴보면 CoreData에 대해 이렇게 정의를 하고 있다. Persist or cache data on a single device, or sync data to multiple devices with CloudKit. Data를 단일 기기에 저장하거나 데이터를 캐시하거나, CloudKit을 사용하여 다양한 기기에서 동기화를 할 때 사용되는 프레임워크이다. 즉, 단순히 local 데이터를 저장하는 데이터베이스 역할을 하는 것이 아니라 저장, 캐시, 동기화 등의 기능을 제공하는 프레임워크인 것이다. 이외에도 Undo / Redo Manager를 통해 변화를 감지하여 쉽게 Undo와 Redo를 구현할 수 있도록 하기도 한다. 물론 Local에 저장을 할 때 즉, 온라인 / 오프..

🔔 야곰아카데미 토요 스터디에서 진행한 내용입니다. 최근 앱을 사용하다보면 Google / Naver / Kakao / Facebook을 통한 소셜 로그인 기능을 자주 볼 수 있다. 이런 소셜 로그인이 어떻게 구현되는지 간단하게 살펴보고 직접 카카오를 통한 소셜 로그인 기능을 구현해보자. 일단 직접 구현하는 방법을 살펴보기 전에 OAuth가 어떤 기능인지 살펴보자. 🪢 OAuth 📚 정의 사용자(개발자 및 회사)들이 제 3사의 서비스를 사용하기 위해 사용하는 개념으로 위임 / 인가 / 허가 프로토콜이다. 이는 단순한 인증 프로토콜이 아니기 때문에 단순히 `소셜 로그인 = OAuth`라고 보기에는 무리가 있다. 다만 누군가에게 허가 / 위임 / 인가를 하기 위해선 본인을 증명해야 다른 사람에게 본인의 권한..

어제 직접 실기기를 연결해서 테스트를 하려 했으나 아래와 같은 에러가 발생했다. (캡쳐 이미지에서 보이는 화면은 Xcode에서 cmd + shift + 2를 눌러 나온 화면입니다) Unable to prepare iPad for development !! 아니 분명 잘 되던게 왜 안되는거지.... 그래서 혹시 몰라 아이폰으로도 테스트를 해보았다. 그러자 자꾸 아래와 같은 상황이 발생했다. iPhone is busy: Making ~Apple Watch ready for development 아니 왜 하는 것도 없는데 자꾸 바쁘다고 하는거냐고!!! 후... 😱 Apple Watch에 연동이 되어 있어 계속 Apple Watch에게 승인을 받는다고 하여 일단 블루투스를 끄고 시도를 해봤다. 그랬더니 이런 에..

Delegation 패턴은 delgate란 단어에서 볼 수 있듯 특정 Action을 다른 객체가 하도록 위임 하는 것이다. 즉, 특정 Action에 대한 위임을 받은 객체가 대신 일을 처리해주는 것이다. 이는 iOS에서 TableView를 활용하다보면 UITableViewDelegate, UITableViewDataSource라는 프로토콜을 볼 수 있는데, 이 또한 Delegation 패턴을 사용하고 있는 것이다. 애플이 구현해놓은 TableView를 사용할 때 이를 어떻게 구성할 지는 개발자가 정하게 된다. 따라서, TableView가 UITableViewDelegate, UITableViewDataSource라는 프로토콜을 채택한 ViewController에게 테이블 뷰의 Section과 Row는 어..