首先我們先獲取命名空間
let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String
首先命名空間從info.plist里面查找
屏幕快照 2016-05-03 下午2.07.51.png
屏幕快照 2016-05-03 下午2.08.00.png
根據(jù)命名空間傳來的字符串先轉(zhuǎn)換成anyClass
let cls:AnyClass = NSClassFromString(namespace + "." + childControllerName)! 【注:“ 沉删!”為非空,代表這里面不能為空,Swift就這點(diǎn)比較操蛋...有些必須選擇是否為空涕侈,不像oc編譯器不報(bào)錯(cuò)】
再次 根據(jù)這個(gè)常量轉(zhuǎn)換成控制器
let vcCls = cls as! UIViewController.Type【注:as! 我就不介紹了 Type呢 我們稍微講下 首先你是點(diǎn)不進(jìn)去查看不了API的察绷,那這個(gè)是起什么作用的呢华望? 你們可以搜搜檩互,其實(shí)他就是告訴cls 是UIViewController這個(gè)類型】
控制器有了 那就初始化吧
let vc = vcCls.init()
這樣控制器就創(chuàng)立成功了 大家試試吧..