태그: #RIBs
- This topic has 1개 답변, 2명 참여, and was last updated 2 years, 7 months 전에 by cooo002.
1 답변 글타래를 보이고 있습니다
-
글쓴이글
-
-
odyflame참가자
- 글작성 : 17
- 답글작성 : 21
안녕하세요!
회사 내에서 RIBs를 적용해보고 있는 신입개발자입니다..다름이 아니라 RIBs를 쓰는데 계속 leak detector가 leak이 된다고 에러가 나네요
상황은 하나의 RIB에서 자식 RIB을 attach 한다음 navigationView.pushViewController 로 네비게이션 push를 하였습니다.
그 다음 navigation back button을 누르면 자식 RIB을 detach를 하고 popViewController 상황입니다.
여기서 pop은 잘 되서 원래 RIB으로는 돌아오는데 leak detector가 계속 leak이라고 하네요.. 차이점은 detach하고 나서 다른 RIB로 attach를 하지 않아서 그런지, currentChild가 nil이 되어서 그런지 그걸 잘 모르겟어요
혹시 RIBs를 사용해 보신 분 중에서 어떻게 하는지 아시는 분 계실까요??
혹시 몰라 예제 코드를 첨부합니다
func goToMusic() { detachCurrentChildWithView() routeToMusic() } func dismissMusic() { detachCurrentChildWithView() } private func routeToMusic() { let MusicRIB = musicBuilder.build(withListener: interactor) self.currentChild = MusicRIB attachChild(MusicRIB) viewController.pushViewController(viewController: MusicRIB.viewControllable) } private func detachCurrentChild() { if let currentChild = currentChild { detachChild(currentChild) self.currentChild = nil } } private func detachCurrentChildWithView() { if let currentChild = currentChild { detachChild(currentChild) viewController.popViewController() self.currentChild = nil } } private let musicBuilder: MusicRIBBuildable private var currentChild: ViewableRouting?
위의 코드에서 자식 RIB을 detach하기 위해 dismissMusic함수를 호출하면, dismiss는 잘 되는데 그 이후에 오류가 떠서 문제인데 제생각에는 leak이 날 경우가 없는데 이를 어찌 하면 좋을지 모르겟네요
2021-03-11 오후 3:49 #42197
-
-
글쓴이글
1 답변 글타래를 보이고 있습니다
- 답변은 로그인 후 가능합니다.