-
[Swift] addObserver를 한 뒤 remove를 해주어야 하는가?앱등이에게 살충제를 뿌린다./Swift 2022. 9. 18. 02:46
https://developer.apple.com/documentation/foundation/notificationcenter/1413994-removeobserver
위 문서에 따르면 iOS9.0 이후에는 observer를 unregister하지 않아도 된다고 한다.
If your app targets iOS 9.0 and later or macOS 10.11 and later, and you used [addObserver(_:selector:name:object:)], you do not need to unregister the observer. If you forget or are unable to remove the observer, the system cleans up the next time it would have posted to it.
하지만 block기반으로 observer를 등록했다면 명시적으로 unregister해주어야 한다고 한다.
If you used [addObserver(forName:object:queue:using:)] to create your observer, you should call this method or [removeObserver(_:name:object:)] before the system deallocates any object that [addObserver(forName:object:queue:using:)] specifies.
이것을 코드로 실험해본 포스트가 아래와 같다.
https://oleb.net/blog/2018/01/notificationcenter-removeobserver/
'앱등이에게 살충제를 뿌린다. > Swift' 카테고리의 다른 글
WWDC2020 - Unsafe Swift (0) 2021.05.14 [RxSwift] Rx Observer들의 기본 스케쥴러 (0) 2020.09.11 [RxSwift/RxCocoa] RxCocoa에서 TableView사용하는 코드를 쪼개서 이해해보자. (0) 2020.03.15 [RxSwift/RxCocoa] Subject는 알겠는데, Relay는 뭐지? (0) 2020.03.14 Swiftlint를 통해서 프로젝트에서 느낌표(!)를 제거해보자 (0) 2019.12.19