Swift:如何判断一个对象是否是某个类(或其子类)的实例

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/longitachi/article/details/50722836

在OC中我们直接可以用如下方法即可

[obj  isKindOfClass:[obj class]];

在Swift中,并没有 .class 属性或者方法, 便可以用如下方法
class Person {
    
}

class AsiaMen: Person {
    
}

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let person = AsiaMen()
        
        var arr = [AnyObject]()
        arr.append(person)
        arr.append(self)
        
        for obj in arr {
            if obj is Person {
                print("obj对象(\(obj.self)) 是Person类的实例")
            }
        }
    }
}

获取对象的类名

let className: AnyClass = obj.classForCoder



展开阅读全文

没有更多推荐了,返回首页