AnyClass、元类型和.self

2019-06-28  本文已影响0人  盖小聂
class MusicViewController: UIViewController {
    
}

class AlbumViewController: UIViewController {
    
}

class ViewController: UIViewController {

    func setupViewControllers(vcTypes: [AnyClass]) {
        for vcType in vcTypes {
            if vcType is UIViewController.Type {
                let vc = (vcType as! UIViewController.Type).init()
                print(vc)
            }
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //将元类型存入数组并且传递给别的方法来进行配置这一点上,元类型编程就很难被替代了。
        let usingVCTypes: [AnyClass] = [MusicViewController.self, AlbumViewController.self]
        setupViewControllers(vcTypes: usingVCTypes)
        
    }
}

补充说明:

上一篇 下一篇

猜你喜欢

热点阅读