@@ -45,8 +45,8 @@ extension UIViewController {
4545 targetParentVC. addChildViewController ( vc)
4646 vc. beginAppearanceTransition ( true , animated: true )
4747
48- objc_setAssociatedObject ( self , & semiModalViewController, vc, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
49- objc_setAssociatedObject ( self , & semiModalDismissBlock, ClosureWrapper ( closure: dismissBlock) , . OBJC_ASSOCIATION_COPY_NONATOMIC)
48+ objc_setAssociatedObject ( targetParentVC , & semiModalViewController, vc, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
49+ objc_setAssociatedObject ( targetParentVC , & semiModalDismissBlock, ClosureWrapper ( closure: dismissBlock) , . OBJC_ASSOCIATION_COPY_NONATOMIC)
5050
5151 presentSemiView ( vc. view, options: options) {
5252 vc. didMove ( toParentViewController: targetParentVC)
@@ -177,15 +177,17 @@ extension UIViewController {
177177 }
178178
179179 public func dismissSemiModalViewWithCompletion( _ completion: ( ( ) -> Void ) ? ) {
180- let targetView = parentTargetView ( )
181- guard let modal = targetView. viewWithTag ( semiModalModalViewTag)
180+ let targetVC = parentTargetViewController ( )
181+
182+ guard let targetView = targetVC. view
183+ , let modal = targetView. viewWithTag ( semiModalModalViewTag)
182184 , let overlay = targetView. viewWithTag ( semiModalOverlayTag)
183185 , let transitionStyle = optionForKey ( . transitionStyle) as? SemiModalTransitionStyle
184186 , let duration = optionForKey ( . animationDuration) as? TimeInterval else { return }
185187
186188
187- let vc = objc_getAssociatedObject ( self , & semiModalViewController) as? UIViewController
188- let dismissBlock = ( objc_getAssociatedObject ( self , & semiModalDismissBlock) as? ClosureWrapper ) ? . closure
189+ let vc = objc_getAssociatedObject ( targetVC , & semiModalViewController) as? UIViewController
190+ let dismissBlock = ( objc_getAssociatedObject ( targetVC , & semiModalDismissBlock) as? ClosureWrapper ) ? . closure
189191
190192 vc? . willMove ( toParentViewController: nil )
191193 vc? . beginAppearanceTransition ( false , animated: true )
@@ -210,8 +212,8 @@ extension UIViewController {
210212
211213 dismissBlock ? ( )
212214
213- objc_setAssociatedObject ( self , & semiModalDismissBlock, nil , . OBJC_ASSOCIATION_COPY_NONATOMIC)
214- objc_setAssociatedObject ( self , & semiModalViewController, nil , . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
215+ objc_setAssociatedObject ( targetVC , & semiModalDismissBlock, nil , . OBJC_ASSOCIATION_COPY_NONATOMIC)
216+ objc_setAssociatedObject ( targetVC , & semiModalViewController, nil , . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
215217
216218 NotificationCenter . default. removeObserver ( self , name: . UIDeviceOrientationDidChange, object: nil )
217219 } )
0 commit comments