有没有办法在Swift中查看视图控制器堆栈?
是否存在在Swift中查看视图控制器堆栈的方法有没有办法在Swift中查看视图控制器堆栈?,swift,uiviewcontroller,stack,Swift,Uiviewcontroller,Stack,是否存在在Swift中查看视图控制器堆栈的方法 希望我能读到某种数组,或者println()您需要滚动一些代码来遍历对象图,但这里是一个开始 首先,您需要使用keyWindow属性中的键窗口 接下来通过rootViewController属性获取根视图控制器 最后,递归地检查结果的childViewControllers数组的内容。包含的视图控制器可能有自己的子视图控制器 从第一个childViewControllers属性转储视图控制器可能会像这样工作(这是我的想法,未经测试): func d
希望我能读到某种数组,或者
println()
您需要滚动一些代码来遍历对象图,但这里是一个开始
keyWindow
属性中的键窗口rootViewController
属性获取根视图控制器childViewControllers
数组的内容。包含的视图控制器可能有自己的子视图控制器childViewControllers
属性转储视图控制器可能会像这样工作(这是我的想法,未经测试):
func dumpview控制器(控制器:[AnyObject],级别:UInt=0)
{
如果controllers.count==0{return}
控制器中的控制器为[UIViewController]
{
对于变量i=0;i'};
println(“+toString(controller));
DumpViewController(controller.childViewController,级别:级别+1);
}
}
它不漂亮,但应该能奏效;)
只需在rootViewController上调用递归ViewControllersDescription(),即可获得具有viewControllers层次结构的字符串
extension UIViewController {
func recursiveViewControllersDescription() -> String {
return recursiveChildViewControllersLevel(0)
}
func recursiveChildViewControllersLevel(level: Int) -> String {
var string = String()
for var i = 0; i < level; i++ {
string += "\t"
}
string += self.description
string += "\n"
for viewController in self.childViewControllers as [UIViewController] {
string += viewController.recursiveChildViewControllersLevel(level + 1)
}
return string
}
}
扩展UIViewController{
func recursiveViewControllersDescription()->字符串{
返回递归ChildViewControllerLevel(0)
}
func recursiveChildViewControllersLevel(级别:Int)->字符串{
var string=string()
对于变量i=0;iextension UIViewController {
func recursiveViewControllersDescription() -> String {
return recursiveChildViewControllersLevel(0)
}
func recursiveChildViewControllersLevel(level: Int) -> String {
var string = String()
for var i = 0; i < level; i++ {
string += "\t"
}
string += self.description
string += "\n"
for viewController in self.childViewControllers as [UIViewController] {
string += viewController.recursiveChildViewControllersLevel(level + 1)
}
return string
}
}