일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- firestore
- Di
- ios면접
- 카카오맵클론
- 클린코드
- Safari Inspector
- UIKit
- firebase
- IOS
- css학습
- Swift코딩테스트
- 코딩테스트입문
- alamofire
- TDD
- ARC
- 앱의생명주기
- AutoLayout
- 프로그래머스
- five lines of cdde
- Swift디자인패턴
- 리팩터링
- algorithm
- RxSwift
- RC
- storekit2
- hackerrank
- unittest
- SWIFT
- mrc
- five lines of code
- Today
- Total
목록RC (4)
샘성의 iOS 개발 일지
1. Strong 참조 (강한 참조) 해당 인스턴스의 소유권을 가짐 자신이 참조하는 인스턴스의 reference count를 증가시킴 값 지정 시점에 retain(RC +1)이 되고, 참조가 종료되는 시점에 release (RC -1)가 됨 앞에 weak / unowned를 적지 않는다면 default로 강한 참조를 하게 됨. 강한 참조의 규칙을 모르고 사용하게 되면 메모리 누수(Memory Leak)가 발생할 수 있음. 2. Weak 참조 (약한 참조) 해당 인스턴스의 소유권을 갖지 않음 자신이 참조하는 reference count를 증가시키지 않음 선언할 때 앞에 weak 를 붙여서 사용 옵셔널 타입으로만 선언 가능 (참조하고 있던 인스턴스가 사라지면 속성을 nil을 할당 하기 때문) 강한 참조로 인..
1. Retain Count란? 힙(Heap) 영역의 RC(Reference Count)를 세어본 후, RC가 0인 순간, 컴파일 할 때 메모리 해제시점을 결정하는 방식 데이터 영역 : 공통으로 공유하는 영역으로, 앱이 실행되는 동안은 불변한다. (전역변수, 타입 변수(static)) - 관리 필요 X 스택 영역: 함수 실행을 위한 임시적 공간이다. 따라서 실행이 완료되면 FIFO(선입선출) 방식으로 알아서 메모리에서 사라지게 됨 - 관리 필요 X 힙 영역: 비교적 긴 시간동안 갖고있게 되는 데이터가 저장된다. 개발자가 관리해야지만 메모리에서 할당 해제가 됨 이 때, 개발자가 관리해야 할 것이 바로 Retain Count (RC)이다. 2. Retain Count의 동작 방식 2-1) Heap 영역에 저..
1. Reference Counting(RC)이란? : 힙(Heap) 영역의 RC(Reference Count - 참조 숫자)를 세어본 후, RC(참조 숫자)가 0인 순간, 메모리 관리 혹은 컴파일 할 때 메모리 해제시점을 결정하는 방식 RC 모델 방식을 개발자가 직접 수동으로(Manual) 구현하여 메모리 관리를 하는 모델 Objective-C에서 사용하는 방식 현재는 MRC, ARC 방식 둘 중 선택 가능 수동으로 RC를 개발자가 구현하여 메모리 관리가 필연적인 모델 메모리를 관리하기 위한 변수 var refCount: Int 존재 retain() : RC(참조 숫자)를 +1 하는 코드 → 메모리 할당** release() RC(참조 숫자)를 -1 하는 코드 → 메모리 해제** ⇒ 할당과 해제 둘다 ..