세상을 더 편리하게
article thumbnail
[iOS / Swift] Heap 그리고 Stack
Swift/Apple Framework 2023. 1. 11. 17:02

값 타입은 Stack, 참조 타입은 Heap 그리고 참조 타입은 ARC에서 관리 Okay 이 부분은 완벽해! 면접관 ) Stack에서 Heap은 어떻게 연결이 되나요? 나) 어..... Stack에서 Heap 연결이요...? 어...? 알아서?? 줴엔장, 소 잃고 외양간 고쳐보자. Heap과 Stack 우선 첫 번째 모든 값 타입은 Stack에 저장되는가? 정답은 No이다. struct Body { var height: Int var weight: Int } class Person { let name: String var body: Body init(name: String, body: Body) { self.name = name self.body = body } } func main() { let tob..

article thumbnail
[iOS / Swift ] iOS 메모리 구조
Swift/Apple Framework 2023. 1. 11. 13:26

iOS / Swift 메모리 구조에 대해서 알아보자. 알아본 계기는 면접에서 개같이 썰렸기 때문이다. 면접관님분들은 많이 도와주셨지만 떠먹여줘도 못먹었다. 젠장 그래도 소 잃고 외양간고쳐야 다시 소를 들이는 법이니 알아보자. 메모리 구조 메모리 구조는 크게 4가지로 나뉜다. Code Area Data Area Heap Area Stack Area 1. Code Area 말 그대로 소스 코드가 저장되는 곳 컴파일 타임에 결정된다. 코드는 중간에 변경되면 안되기에 Read-Only Thread에 안전하지 못함 2. Data Area 정적 / 전역 변수 저장된다. ( 음 근데 한번 생각해보자 static/전역변수 모두 lazy가 기본 아니었음?? 해당 값이 처음 접근 될 때 메모리에 올라 갈 것 같다.) 컴파..

article thumbnail
[iOS] Screen Scene Window 차이
Swift/Apple Framework 2023. 1. 11. 01:41

가장 아래에 있는 UIScreen부터 찾아봄 UIScreen 하드웨어 기반 디스플레이와 관련된 속성을 정의하는 객체. 클래스로 선언되어 있고 하드웨어 변수들이랑 연관되어 있는 클래스임 생각해보면 UIScreen.main.bounds ... 이런거 많이 썼었음 iOS devices have a main screen and zero or more attached screens. A tvOS device has a main screen for the television connected to the device. UIWindowScene objects provide screen objects for the screen that displays their content. Each screen object def..

article thumbnail
[swift] Combine - Subject
Swift/Swift 2022. 6. 26. 14:36

2022.06.26 - [Main Programming/Swift] - [swift] Combine - Publisher & Subscriber 2022.06.26 - [Main Programming/Swift] - [swift] Combine - Subscriber - subscription 에 이어서 하겠습니다. 0. 시작 Combine에는 5개의 프로토콜이 있다고 했습니다. - Publisher - Subscriber - Subject - Scheduler - Cancellable 이번 글에서는 Subject에 대해서 알아보겠습니다. 애플 공식 문서에 보면 정직하게 Publisher를 따르고 있는 프로토콜입니다. 그리고 이 공식문서의 하단을 쭉 보면 2개의 클래스가 보입니다. 이 두개를 이용해서 한..