ViewController
@IBAction func didClicked(sender: UIButton) {
//1. 创建一个页面对象
let secondCtrl = SecondViewController()
//2.找到一个已经显示的页面
//模态视图Modal
//对于正在显示的页面或控件,系统会自动维持它的强引用
// self.presentViewController(secondCtrl, animated: true, completion: nil)
//1. 获取window
// let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
// appDelegate.window?.rootViewController = secondCtrl
//2. 获取window
// UIApplication.sharedApplication().keyWindow?.rootViewController = secondCtrl
//3. 对于一个已经显示的视图,一定有一个window属性
self.view.window?.rootViewController = secondCtrl
}
deinit {
print("第一个页面销毁")
}
SecondViewController
class SecondViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
//每一个页面在显示之前都会调用viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.redColor()
let tableView = UITableView(frame: self.view.bounds, style: .Plain)
tableView.dataSource = self
tableView.delegate = self
//显示一个控件,会自动提供强引用
self.view.addSubview(tableView)
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
cell.textLabel?.text = "aaa"
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//让当前页面消失
//系统自动将提供的强引用删除
// self.dismissViewControllerAnimated(true, completion: nil)
// let firstCtrl = ViewController()
//从Storyboard获取新的第一个页面
let firstCtrl = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
self.view.window?.rootViewController = firstCtrl
}
deinit {
print("通知该对象即将销毁")
}
}
网友评论