@@ -152,11 +152,11 @@ final class DialogsUIKitViewController: UIViewController {
152152 timerVC. view. layer. maskedCorners = [ . layerMinXMinYCorner, . layerMaxXMinYCorner]
153153 timerVC. view. clipsToBounds = true
154154
155- let cleanup : ( ) -> Void = {
156- timerVC. willMove ( toParent: nil )
157- timerVC. view. removeFromSuperview ( )
158- timerVC. removeFromParent ( )
159- dimView. removeFromSuperview ( )
155+ let cleanup : ( ) -> Void = { [ weak timerVC , weak dimView ] in
156+ timerVC? . willMove ( toParent: nil )
157+ timerVC? . view. removeFromSuperview ( )
158+ timerVC? . removeFromParent ( )
159+ dimView? . removeFromSuperview ( )
160160 }
161161
162162 timerVC. onComplete = cleanup
@@ -197,15 +197,19 @@ final class DialogsUIKitViewController: UIViewController {
197197 timerVC. view. layer. maskedCorners = [ . layerMinXMinYCorner, . layerMaxXMinYCorner]
198198 timerVC. view. clipsToBounds = true
199199
200- let cleanup : ( ) -> Void = {
201- timerVC. view. removeFromSuperview ( )
202- dimView. removeFromSuperview ( )
200+ let cleanup : ( ) -> Void = { [ weak timerVC, weak dimView] in
201+ timerVC? . willMove ( toParent: nil )
202+ timerVC? . view. removeFromSuperview ( )
203+ timerVC? . removeFromParent ( )
204+ dimView? . removeFromSuperview ( )
203205 }
204206
205207 timerVC. onComplete = cleanup
206208 dimView. onTap = cleanup
207209
210+ addChild ( timerVC)
208211 dimView. addSubview ( timerVC. view)
212+ timerVC. didMove ( toParent: self )
209213
210214 let visibleX = - oversizedFrame. origin. x
211215 let visibleY = - oversizedFrame. origin. y
@@ -276,11 +280,11 @@ final class DialogsUIKitViewController: UIViewController {
276280 timerVC. view. layer. cornerRadius = 16
277281 timerVC. view. clipsToBounds = true
278282
279- let cleanup : ( ) -> Void = {
280- timerVC. willMove ( toParent: nil )
281- timerVC. view. removeFromSuperview ( )
282- timerVC. removeFromParent ( )
283- dimView. removeFromSuperview ( )
283+ let cleanup : ( ) -> Void = { [ weak timerVC , weak dimView ] in
284+ timerVC? . willMove ( toParent: nil )
285+ timerVC? . view. removeFromSuperview ( )
286+ timerVC? . removeFromParent ( )
287+ dimView? . removeFromSuperview ( )
284288 }
285289
286290 timerVC. onComplete = cleanup
0 commit comments