일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- optional
- initializer
- 코딩테스트
- IOS
- Swift
- 스위프트
- delegate
- Method
- 디자인패턴
- Xcode
- Git
- String
- extension
- Foundation
- Protocol
- instance
- Terminal
- struct
- interpace
- url
- initalizer
- type
- UIKit
- 이니셜라이저
- Unicode
- property
- init
- tuist
- Class
- enum
- Today
- Total
목록heap (2)
아리의 iOS 탐구생활
🔍 Swift는 메모리 관리를 어떻게 할까? ARC(Automatic Reference Counting)를 사용한다. 🔍 RC(Referenc Count)란 무엇인가? 인스턴스를 현재 누가 가르키고 있느냐 없느냐(참조하냐 안하냐)를 숫자로 표현한 것. 참조 계산 시점: Complie Time에 언제 참조되고 해제되는지 결정되어 런타임 때 그대로 실행된다. 장점: 개발자가 참조 해제 시점을 파악할 수 있고, RunTime 시점에 추가 리소스가 발생하지 않는다. 단점: 순환 참조가 발생 시 영구적으로 메모리가 해제되지 않을 수 있다. Objective-C는 MRC(직접 할당/해제)를 사용했었다. 🔍 RC는 어떤 기준으로 숫자를 셀까? Count Up : 인스턴스의 주소값을 변수에 할당할 때 인스턴스 생성(새..
메모리 구조에 대해서 알아보기전에 메모리의 대한 내용 먼저 다루기 데이터나 프로그램을 저장하는 저장 공간은 계층 구조를 가진다. CPU에서 가장 가까운 저장공간은 레지스터인데, 레지스터 -> CPU 캐시 메모리 -> 메인메모리 -> 보조기억장치 -> 외부기억장치 순으로 멀어진다. CPU로부터 멀어질수록 데이터를 저장하는 용량이 커지고 접근 속도는 느려진다. ROM은 Read Only RAM은 Read / Write 가능 메모리 구조 스택(Stack) 먼저 들어간건 나중에 나온다. (LIFO 후위선출 구조) 할당과 해제를 반복하기 때문에 데이터 용량이 불확실하다. 메모리의 높은 주소부터 낮은 주소 순으로 할당 된다. 함수에 포함된 지역변수들만 접근할 수 있다. 컴파일 시에 할당될 영역의 크기가 결정된다. ..