본문 바로가기

iOS4

한장으로 보는 UIViewController & UIView의 LifeCycle UIViewController & UIView의 LifeCycle(LayoutCycle)을 알아보자. 앱이든 웹이든 앞단을 개발한다면 사용자에게 쾌적한 경험을 제공해야 한다. 그러기 위해서 알아야 할 Life Cycle!!!! 어널언 UIKit의 VC, UIView의 Life Cycle에 대해 알아보자. 하루아침에 공부해서 정리할 양은 아닌 것 같아 꾸준히 업데이트 예정 💡잘못된 정보가 있으면 알려주세요! Constraint Update View의 제약 조건을 업데이트 Constraint는 실제로 View를 배치하는데는 영향을 주지 않음 특정 조건에 따라 Constraint를 갱신해서 다이나믹한 View를 구성할 수 있음 Constraint의 업데이트 순서는 View 계층 구조에서 가장 하위 View -.. 2023. 4. 27.
[Swift] Async Await와 MainActor의 관계에 대한 고찰 [Swift] Async Await와 MainActor의 관계에 대한 고찰 Swift에서 Concurrency 환경을 만들어야할 때 다양한 사용법이 있다. 특히 비동기로 데이터를 처리한 후 UI를 업데이트할 땐 MainThread에서 처리해야 한다. 여기서 MainActor를 사용함으로써 명시적으로 Main Thread로 컨텍스트 스위칭할 수 있다. 명시적으로 Main Thread에서 돌아가게 하는 방법은 여러 방법이 있는데 각각의 차이를 알아보자. 본격적으로 들어가기에 앞서, 환경부터 만들어보자. 환경 UILabel에 실제 API 호출을 통해 가져온 데이터를 바꾸도록 만들자. 우선 간단한 레이아웃 구조와 viewModel 인스턴스를 생성하자. class ViewController: UIViewContr.. 2023. 4. 26.
[Swift] 다양한 문자열 처리 방법 [Swift] 다양한 문자열 처리 방법 계속 추가 예정🤔 주어진 문자열을 특정 문자열로 변환할 때 String.replacingOccurrences(of: "I", with: "O") ["I -45", "I 653"] ----> ["O -45", "O 653"] 특정 문자열로 쪼갤 때 단, components(separatedBy: "")는 특정 문자열로 쪼갤 수 있음 ex: separatedBy: "underbarA" String.components(separatedBy: " ") return [String] or String.split(separator: " ") return [String.Subsequence] ["I -45", "I 653"] ---> [["I", "-45"], ["I", "653.. 2023. 4. 5.
Protocol을 사용하여 Social Auth Service 구현하기 배경 글로벌 앱이 도입됨에 따라 소셜 로그인이 추가되었다. 앱스토어 심사 지침에 따라 소셜 로그인을 추가 할 경우 애플 로그인은 필수로 적용해야 한다. 구글 SDK도 적용 해 놨지만, 지원 종료된다는 얘기가 있어서 웹뷰로도 대응해놨다. 그래서 최근에 읽은 '객체지향의 사실과 오해'를 보며 이해한 수준에서 설계해봤다..! 고려사항 두 로그인 방식에 있어서 결과적으로 필요한 데이터는 무엇일까? 클라이언트에서는 로그인 후 돌아오는 token을 디바이스에 저장하지 않고 서버측에 바로 넘기기만 하면 된다. 여기서 변하는 것과 변하지 않는 것을 생각해봤다. 우선 변하지 않는 부분은 각각의 로그인 방식 모두 베이스가 될 ViewController를 갖고 있어야 한다. 또한 로그인을 수행 할 authenticate().. 2023. 3. 23.