야곰 3

[iOS / UIKit] How to detect when the application state become foreground from the background in ViewController not SceneDelegate

안녕하세요! 오늘은 앱이 background 상태에 있다가 foreground로 올라오는 것을 SceneDelegate가 아니라 ViewController에서 확인하는 방법을 알아봅시다! 다들 아시다시피 SceneDelegate를 통해 우리는 앱이 Background에서 Foreground로 넘어오는 것을 확인할 수 있습니다. 물론 그 반대도 가능합니다! 하지만 특정 ViewController에서 Foreground로 넘어오는 것을 확인하는 게 필요한 상황이 있죠? 바로 알아봅시다! willEnterForegroundNotification 옵저버를 추가해주니 ViewController에서 foreground로 들어오는 상황을 notify 해주는 게 보이네요! 그럼 background로 나가는 것도 알 수..

iOS/UIKit 2023.03.03

[Swift] lazy 왜 쓰나요?

우리 iOS 개발할 때 이런식으로 lazy 많이 쓰지요? private lazy var sampleLabel: UILable = { let label = UILabel() label.text = "lazy 왜 쓰나요?" label.textColor = UIColor.systemBlue return label }() 그런데 lazy를 왜 쓰는지 알고 계신가요? lazy 키워드를 사용하는 프로퍼티를 지연 저장 프로퍼티(Lazy Stroed Property)라고 합니다. 지연 저장 프로퍼티는 호출이 있어야만 값을 초기화 하는 특성을 가지고 있습니다. 좀 더 자세히 설명해 봅시다. 우리가 인스턴스를 초기화 하는 과정에서 언제나 모든 저장 프로퍼티가 동시에 초기화 될 필요가 없는 상황이 분명히 있겠지요? 그럴 때..

iOS/Common 2022.05.13

[Swift] ARC란 무엇인가? with 야곰의 스위프트 프로그래밍

ARC란 무엇인가(What is Automatic Reference Counting?)? - 자료 출처: 야곰의 스위프트 프로그래밍 3판 챕터 27 * 참고: ARC와 값 타입 - ARC가 관리해주는 참조 횟수 계산(Reference Counting)은 참조 타입인 클래스의 인스턴스에만 적용됩니다. - 구조체나 열거형은 값 타입이므로 참조 횟수 계산과 무관합니다. - 즉, 구조체나 열거형은 다른 곳에서 참조하지 않기 때문에 ARC로 관리할 필요가 없습니다. ARC란 - ARC 기능은 이름에서 알 수 있듯이 자동으로 메모리를 관리해주는 방식입니다. - 아무래도 프로그래머가 메모리 관리에 신경을 덜 쓸 수 있기에 편리합니다. - ARC는 더이상 필요하지 않은 클래스의 인스턴스를 메모리에서 해제하는 방식으로 ..

iOS/Common 2021.06.06