我现在遇到了几个案例,它们可以方便地找到"最顶层"的视图控制器(负责当前视图的控制器),但还没有找到办法.
基本上挑战是这样的:假设一个人在一个不是视图控制器(或视图)的类中执行[并且没有活动视图的地址]并且还没有传递最顶层视图控制器的地址(或者说,导航控制器的地址),是否可以找到该视图控制器?(如果是这样,怎么样?)
或者,如果失败了,是否有可能找到最顶层的视图?
我读了这篇文章和这一个关于如何调用presentViewController形式的UIViewController子类之外.在我的例子中,自定义类是NSObject的子类.以下方法是唯一有效的方法(从我读过的例子):
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(alertController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
我的问题:是否有一个更好的解决方案,不依赖于appDelegate(因为我知道这种方法在设计方面不是很整洁)......