안녕하세요! 지우개입니다 최근에는 면접 준비를 하다가 새로 깨달음을 얻었어요 그리고 곧 새 프로젝트를 시작했는데 기능 하나, UI 하나하나를 새로 개발할 때마다 궁금한게 샘물처럼 퐁퐁 솟아나더라구요? 그동안은 좀 넓고 얕게 알아보고 개발했다면, 이제부터는 알고 싶은 것을 하나하나 깊게 정리해보고자 라는 이름의 블로그 글을 꾸준히 쓰기로 결심했습니다 ㅋㅋ 궁금해요! 알아보고 싶었던 부분은 바로 SceneDelegate의 window.makeKeyAndVisible() 부분입니다. (분명 배웠던 것 같은데.. 저게 어떤 역할을 할까? 라고 스스로 물어보면 대답할 수가 없더라구요 😓) 먼저 이 코드가 쓰이는 부분인 SceneDelegate의 역할부터 알아보겠습니다. SceneDelegate란? SceneDel..
코드베이스로 UI를 구성하다가 맞닥뜨린 에러.. Property '' with type '' cannot override a property with type '' UILabel를 title이라는 이름을 사용해서 정의해주려다 보니 에러가 발생한 것!! UILabel이라는 클래스 안에 title이라는 프로퍼티가 이미 존재하기 때문에, 같은 이름으로 상속하여 사용하지 못하는 것!! 정의해준 UILabel 이름을 title → logo로 변경해주니 바로 에러가 사라졌다.
View Life Cycle 뷰가 가지는 상태와 상태가 변화하면서 부르는 메서드에 대해 찾아봤다. 뷰의 상태가 변화하면, 뷰 컨트롤러는 자동으로 자기가 가진 메서드를 부르면서 변화에 맞게 반응함! 예를 들어 viewIsAppearing(_:)을 통해 화면에 나타나는 뷰를 준비시킨다든지, viewWillDisappear(_:)로 현재 데이터나 현재 상태를 저장할 수 있다~ 위 이미지들이 뷰 생명주기를 가장 잘 나타낸 것 같은데 각각 상태가 변화할 때마다 불리는 메서드들이 잘 정리되어 있음!! 불리는 메서드들은 사실 말 그대로다. 우리말로 치면 이제곧나타날거임/이제나타남/사라짐 … 등등이 되었겠지..🥹 부럽다 viewDidLoad: 뷰 컨트롤러 클래스가 생성될 때 가장 먼저 실행됨. 딱 한 번 실행되기 때문..
앱의 생명주기 앱의 생명주기란, 앱 각각의 상태를 다섯 가지로 나누어 정의하는 말이라고 할 수 있겠다! 앱 하나를 실행하면, 그 앱을 제외한 나머지 앱들은 화면에 보이지 않는다. 하지만 화면에 보이지 않더라도 실행 중인 앱이 있을 수 있음! 예를 들어, 타이머 앱! 타이머를 켜 놓고 다른 앱을 실행해도 타이머 앱에서의 시간은 멈추지 않고 정해진 시간이 되면 알림을 준다. 다섯 가지 상태 Active: 앱이 실행 중인 상태 (Foreground) Not Running: 앱이 시작되기 전 Inactive: 앱이 화면에서 실행 중이지만, 어떤 신호도 받지 않는 상태 (Foreground) 예를 들어, 전화가 오거나 알람이 울리면 화면 위를 덮을 때 Background: 앱이 화면에 보이지 않지만 코드를 실행하..
말로만 듣던 RxSwift!! 드디어 어떤건지 배워보았다 RxSwift를 살펴보기 전에 먼저 짚어볼 점! 1. RxSwift는 라이브러리에 불과하다. 툴적인 면으로 이해하는 것이 좋다. 2. 다양한 메서드 종류가 많지만 이것 또한 메서드에 불과하다는 걸 잊지 말 것! 아무래도 처음 개념을 배우다보면 신나서 이것저것 더 살펴보게 되고 깊게 빠지게 될 수 있는데, 이런 라이브러리보다 중요한건 기본적인 개념들을 잘 이해하고 있는지(클로저나 옵저버 등)이다. (기본 개념 다루는 블로그부터 작성해야겠다..고 반성 중...) 그럼 지금부터 본격적으로 살펴보자! RxSwift RxSwift에서 다루는 개념 3가지 Observer Pattern 필요한 시점에 발생했을 때 포스트를 보내고, 받은 객체가 특정 메서드를 실..
출시한 뒤로 감사하게도 여러 사람들이 사용을 하고 피드백을 주고 있다. 당장 고쳐야 할 오류는 없지만, 추가적인 기능(예를 들면 위젯이라든가...)에 대한 것이 대부분인 것 같다. 오늘(21일) 기준 업데이트한 기록은 다음과 같다: - 다국어 지원 - 일본어, 영어 추가 - 꾹 눌러서 순서 변경 - 푸시 알림 - Firebase Crashlytics - 다이어리쪽을 눌렀을 때 작성 화면도 다이어리쪽으로 페이징 되도록 그리고 설정 페이지를 추가하는 중이다! 새싹에서 배운 디퍼블을 사용하고 싶어서 페이지를 뜯어고치고, 그 안의 내용들을 넣어가야하는데 다국어도 아직 완벽한 것은 아니고 네비게이션도 다시 다 넣어서 만들 예정이라 할 일이 산더미다..!! 이번주는 아팠던 김에 조금 쉴 수 있었다고 생각하고, 주말..