import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { self.window = UIWindow(frame: UIScreen.mainScreen().bounds) // Override point for customization after application launch. self.window!.backgroundColor = UIColor.whiteColor() self.window?.rootViewController = RootViewController() self.window!.makeKeyAndVisible() return true } }
import UIKit class RootViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let name = "MainViewController" //动态获取命名空间 let namespace = NSBundle.mainBundle().infoDictionary!["CFBundleExecutable"] as! String print(namespace) //注意工程中必须有相关的类,否则程序会崩 let cls:AnyObject = NSClassFromString(namespace + "." + name)! print(cls) // 告诉编译器它的真实类型 let viewControllerClass = cls as! UIViewController.Type let viewController = viewControllerClass.init() print(viewController) } }
import UIKit class MainViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }