본문 바로가기

iOS23

[iOS] RootViewController 변경하는법과 이유 안녕하세요 안녕주입니다! 오늘은 RootViewController를 변경하는 법과 이유에 대해 기록해 보려고 합니다. 먼저 RootViewController를 변경하는 이유는 아래와 같습니다. 로그인을 먼저하고 나서 메인화면으로 가는 플로우가 있다고 생각해봅시다! 아래의 마지막 뷰에서 다음버튼을 누르면 메인 화면으로 이동하는 데요 메인화면에서 다시 로그인을 하고싶어져서 로그인 화면으로 갔다가 다시 로그인하고 메인화면으로 가고... 그리고 이 과정을 여러번 반복하면 어떻게 될까요? 뷰 컨트롤러의 스택이 엄청 쌓이겠죠..? (로그인화면 - 완료 화면 - 메인 화면 - 로그인 화면 - 완료 화면 - 메인 화면 - 로그인 화면 - 완료 화면 - 메인 화면..) 로그인 - 회원가입 화면 흐름에서 메인화면으로 전환.. 2022. 4. 16.
[iOS] 화면 전환 방식 push vs present 안녕하세요 안녕주입니다 :) 오늘은 push 랑 present의 차이를 중심으로 화면 전환 방식에 대한 기록을 남기겠습니다! UIViewController 특징 사용자의 이목을 끌기 위한 화면 전환 기법 화면을 다른 화면 위로 띄워 표현하는 방식 흐름을 이어지는 컨텐츠를 담기 보다는 흐름을 끓고 눈에 보여줘야하는 콘텐츠를 담는데 사용 UIViewController 클래스를 상속받은 클래스에서의 화면전화 방법 X 버튼이 주로 있음 (1) present : 뷰 이동 뷰 전환 방식 : 세로방향 (아래에서 위) modalPresentationStyle로 화면 전환이 되는 스타일을 정할 수 있음 present(_:animated:completion:) Presents a view controller modally.. 2022. 4. 15.
라미란 TIL (#1) 안녕하세요! 안녕주입니다.! 이누님의 TIL을 보고 감명 받아.. 매일은 힘들지만 라이브러리를 뜯어보며 공부하면서 공부해야할 키워드 또는 알게 된 것들을 조금씩 적어보려고 합니다..! 이름하여 내 멋대로 하고싶은날에 하는 TIL..! 먼저 라미란이란..? 라이브러리에 미친 사람들이란의 줄임말으로, 라이브러리를 뜯어 보면서 새롭게 알게 된것을 나누는 스터디입니다..! 이번주에는 SnapKit 라이브러리를 뜯어 보면서 새로운것을 알아봤습니다. 공부를 하면서 느낀건데, 정말 라이브러리는 보기가 어렵드라고요..! 하지만 천천히 한줄한줄 모르는 것이 있다면 찾아보면서 문법 + 개발 기반 지식을 쌓고 있습니다! 💥 설치법 CocoaPods 설정이 편함 Carthage Cocoapods 보다는 더 좋은 방식이라는데 .. 2022. 4. 13.
[iOS] Any, AnyObject, nil 뿅! 안녕하세여 안녕주입니다... 요즘 야곰님의 [스위프트 프로그래밍] 책을 통해 기초를 다지고 있답니다. 중요한 키워드나 새로 알게된 개념들을 기록 하려고 해요! 오늘은 Any, AnyObject, nil에 대해 이야기 해보겠습니다... 1. Any Any는 스위프트의 모든 데이터 타입을 사용할 수 있다는 뜻입니다. 변수나 상수의 타입이 Any라면 어떤 종류의 데이터 타입이든지 상관 없이! 할당할 수 있습니다. 2. AnyObject AnyObject는 Any보다는 한정된, 클래스의 인스턴스만 할당할 수있습니다. var someVar: Any = "yagom"//문자열도 someVar = 50//정수도 somVar = 100.1//실수도 할당 가능 Any나 AnyObject는 될수 있으면 쓰지 않는 것.. 2022. 3. 7.
[iOS] ARC ARC가 관리해주는 참조 횟수 계산은 참조 타입인 클래스의 인스턴스에만 적용됩니다. 구조체나 열거형은 값 타입이므로 참조 횟수 계산과 무관합니다. 즉, 구조체나열걸형은 다른 곳에서 참조하지 않기 때문에 ARC로 관리할 필요가 없습니다. ARC란 ARC( Automatic Reference Counting)는 자동으로 메모리를 관리해주는 방식입니다. 더이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 동작합니다. ARC와 자바의 메모리 관리 기법인 가비지 컬렉션기법과는 어떤 차이가 있을까요? 메모리 관리 기법 ARC 가비지 컬렉션 장점 - 컴파일 당시 이미 인스턴스의 해제 시점이 정해져 있어서 인스턴스가 언제 메모리에서 해제될지 예측할 수 있습니다. - 컴파일 당시 이미 인스턴스의 해제 .. 2022. 2. 20.
[iOS] SOLID 원칙 in Swift SOLID (객체 지향 설계) SOLID란? 객체 지향 프로그래밍 및 설계의 다섯가지 기본 원칙입니다. SOLID 원칙을 지킴으로써 유지보수가 쉽고, 유연하고, 확장이 쉬운 소프트웨어를 만들 수 있습니다. 약어 개념 S SRP 단일 책임 원칙(Single Responsibility Principle) : 한 클래스는 하나의 책임만 가져야 한다. O OCP 개방-폐쇄 원칙(Open/Closed Principle) : 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀 있어야한다. L LSP 리스코프 치환 원칙(Liskov Substitution Principle) : 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야한다. I ISP 인터페이스 분리 원칙(Inte.. 2022. 2. 19.