You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the attached project, you will find NavigationCoordinators that trigger some action after 1.0 second:
RootCoordinator pushes ListCoordinator, which presents ProfileCoordinator, which presents OnboardingCoordinator.
Line ~73 of AppDelegate reads like this:
// Change this line's dispatch time to `.now() + 1.0` to avoid the bug:
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { [weak self] in
self?.trigger(.profile)
}
Run the code as-is should result in a log like this:
*****
ProfileCoordinator deinit
Changing the dispatch delay time on line 73 to 1.0:
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in
self?.trigger(.profile)
}
Does not cause ProfileCoordinator to deallocate and successfully presents the final OnboardingCoordinator
The text was updated successfully, but these errors were encountered:
chefnobody
changed the title
Child Coordinator is deallocated if presented _too quickly_
Child Coordinator is deallocated if presented too quickly
May 27, 2021
@ericklborges it's been a long time since I looked at this and no, I didn't solve it w/o the delay. Also, I just stopped using this lib as its not really being maintained.
Presenting a child coordinator too quickly sometimes results in the Coordinator getting deallocated. Find the attached sample project as proof.
https://github.com/chefnobody/DeallocSample
In the attached project, you will find
NavigationCoordinator
s that trigger some action after 1.0 second:RootCoordinator
pushesListCoordinator
, which presentsProfileCoordinator
, which presentsOnboardingCoordinator
.Line ~73 of AppDelegate reads like this:
Run the code as-is should result in a log like this:
Changing the dispatch delay time on line 73 to
1.0
:Does not cause ProfileCoordinator to deallocate and successfully presents the final
OnboardingCoordinator
The text was updated successfully, but these errors were encountered: