swift - 使用未声明的类型错误 : How to compare object with class type?

标签 swift generics swift3

如何比较 objectAnyClass 泛型:

我想比较一个对象和类的类型,类名应该作为参数传递。

func checkGeneric(className: AnyClass) {
    let object = UIViewController()
    if (object is className) { // Use of undeclared type `className`
        print(className)
    }
}

checkGeneric(className: UIViewController.self)

最佳答案

您可以使用type(of:) 获取object 的类型并将其与AnyClass 进行比较。试试这个..

func checkGeneric(className: AnyClass) {
    let object = UIViewController()
    if (type(of: object) == className) { // Use of undeclared type class name
        print(className)
    }
}

关于swift - 使用未声明的类型错误 : How to compare object with class type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45583143/

相关文章:

c# - 创建多个类型的通用方法

ios - 简单隧道构建失败 - NEAppProxyErrorDomain

swift3 - 窗口应该关闭(_ :) never called

ios - 如何在更改 View 的同时仍然让用户在 TextField 中进行编辑?

c# - 比较 C# 中的枚举标志

generics - 如何表示返回的关联类型实现了特征?

arrays - UITableView numberOfRowsInSection - 显示完成/未完成的任务

swift - 修复 UITableViewController 的 UINavigationBar 下面的 UILabel 位置

swift - 重载 "."产生错误

ios - UIImagePicker : How to always pick square image from camera library?