         return viewController
     }
     
-    public var nk_topVisibleViewController: UIViewController? {
+    @objc public var nk_topVisibleViewController: UIViewController? {
         return self.nk_topViewController?.nk_visibleViewController
     }
     
-    public var nk_sourceViewController: UIViewController? {
+    @objc public var nk_sourceViewController: UIViewController? {
         return self.presentingViewController?._nk_sourceViewControllerFromViewController(viewController: self)
     }
     

import UIKit

public extension UIViewController {
    public var nk_nearestNavigationController: UINavigationController? {
        if let navigationController = self as? UINavigationController {
            return navigationController
        }

        return self.parent?.nk_nearestNavigationController
    }
    
    @objc public var nk_visibleViewController: UIViewController? {
        if let navigationController = self as? UINavigationController {
            return navigationController.visibleViewController?.nk_visibleViewController
        }
