일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- UITextView
- uitableview
- clean architecture
- UICollectionView
- Clean Code
- Human interface guide
- tableView
- swift documentation
- 클린 코드
- Protocol
- swiftUI
- map
- 리팩토링
- Xcode
- 리펙토링
- RxCocoa
- SWIFT
- MVVM
- Refactoring
- Observable
- combine
- collectionview
- 리펙터링
- 스위프트
- rxswift
- ios
- ribs
- uiscrollview
- HIG
- 애니메이션
- Today
- Total
목록메모리 릭 (2)
김종권의 iOS 앱 개발 알아가기
1. 클로저를 사용할 때 주의할 점 - Memory Leaks, Retain Cycle, nested closure 첫 번째2. 클로저를 사용할 때 주의할 점 - nested closure 두 번째3. 클로저를 사용할 때 주의할 점 - nested closure 세 번째nested closure에서의 memory leak첫 번째 글에서 알아보았듯이, nest closure가 있을 때 외부 클로저가 아닌 내부 클로저에서 [weak self]를 잡게되면 메모리 릭이 발생// retain cycleclass Jake3 { let name = "Jake3" var closure: (() -> ())? var closure2: (() -> ())? init() { let ..
일반적인 방법 - deinit에서 출력 deinit은 class타입에서 해당 인스턴스가 메모리 해제 될 때 호출되므로 이 부분을 출력되는것을 확인하여 쉽게 memory leak이 나고 있지 않다는 확인이 용이 // BaseViewController.swift deinit { print("DEINIT: \(self)") } 위처럼 구현하면 콘솔창을 일일이 확인해야하므로, 조금 더 편한 방법은 UIViewController가 메모리 해제될 때 소리로 알려주는 방법 메모리 해제될 때 소리로 알려주는 방법 특정 break point가 실행될 때 Xcode에서 소리가 나게끔하는 방법이 존재 특정 UIViewController를 닫을 때, 메모리 해제되는 타이밍에 소리가 나게끔 설정해놓고 만약 소리가 나지 않는다면..