如何在swift中获取UIViewController个类的类名

在目标C中,我们可以这样做:

self.appDelegate = (shAppDelegate *)[[UIApplication sharedApplication] delegate];
    UIViewController *last_screen = self.appDelegate.popScreens.lastObject ;

    if(last_screen.class != self.navigationController.visibleViewController.class){

    //.......

}

但在Swift ,我试着这样做

let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
    let last_screen = appDelegate.popScreens?.lastObject as UIViewController

我不能这么做.

if last_screen.class != self.navigationController.visibleViewController.class{

//....

}

没有UIViewController的类方法,即最后一屏

推荐答案

要知道你的类名,你可以这样称呼:

var className = NSStringFromClass(yourClass.classForCoder)

Swift相关问答推荐

解析SON数据的API调用有什么问题?

SwiftUI状态更新

如何禁用MacOS上SwiftUI中按钮周围的聚焦环(或高亮显示)?

如何使用Swift宏向 struct 体及其init函数添加新成员?

通过SwiftUI中的列表 Select 从字典中检索值

将`@Environment`值赋给`Binding`参数

当计数大于索引时,索引超出范围崩溃

KMM-Swift铸造密封类

将变量设置为 @Published 会 destruct 代码而不会出现任何错误

使用 @resultBuilder 的通用 buildList 函数

表视图插座单元测试失败

Swift iOS:确定贝塞尔曲线路径是否与 UIView 框架相交?

如何判断一个值是否为 Int 类型

快速更改tableView中的数据

SwiftUI Grid 中的数组旋转

如何让动画变慢 SwiftUI

我可以在 Swift 中为泛型类型 T 分配默认类型吗?

在 Swift 框架中加载资源(例如故事板)

Swift - 迭代 struct 对象时如何对其进行变异

转换为 swift 3 后,视图控制器中出现奇怪的通用函数