Swift- lazy 懒加载
发布时间:2020-12-14 01:34:22 所属栏目:百科 来源:网络整理
导读:我们在使用OC 的时候会写一些懒加载 用的的时候才创建 提高了系统的性能 Swift 给我们提供了一个属性 lazy 专门的延迟加载属性 方便了我们的编程 也提高了系统的性能 我们在写UI控件要多使用懒加载方式 import UIKitimport Foundationlet cellName: String =
我们在使用OC 的时候会写一些懒加载 用的的时候才创建 提高了系统的性能 Swift 给我们提供了一个属性 lazy 专门的延迟加载属性 方便了我们的编程 也提高了系统的性能 我们在写UI控件要多使用懒加载方式 import UIKit import Foundation let cellName: String = "myCell" class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{ var clickCount: Int = 0 @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() let myButton = UIButton() myButton .setTitle("腾讯",forState: UIControlState.Normal) myButton.backgroundColor = UIColor.cyanColor() myButton.frame = CGRect(x: 0,y: 160,width: 375,height: 50) myButton .addTarget(self,action: "btnClick:",forControlEvents: UIControlEvents.TouchUpInside) self.view.addSubview(myButton) self.view.addSubview(myLabel) // Do any additional setup after loading the view,typically from a nib. } func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { return 20; } func btnClick (button :UIButton) { NSLog("点击") } lazy var myLabel: UILabel = { //color 是常量 let color = UIColor.redColor() self.view.backgroundColor = color let rect = CGRect(x: 0,y: 100,height: 50) let myLabel = UILabel() //mark - myLabel.frame = rect myLabel.text = "百度" myLabel.backgroundColor = UIColor.greenColor() myLabel.textAlignment = NSTextAlignment.Center self.view.addSubview(myLabel) return myLabel }() //mark - 懒加载 /* lazy var buyButton: UIButton = { let buyButton = UIButton(type: UIButtonType.Custom) buyButton.setTitle("付款",forState: UIControlState.Normal) buyButton.setBackgroundImage(UIImage(named: "button_cart_add"),forState: UIControlState.Normal) buyButton.layer.cornerRadius = 15 buyButton.layer.masksToBounds = true return buyButton }() */ func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell = tableView.dequeueReusableCellWithIdentifier(cellName);UITableViewCell?() if (cell == nil) { cell = UITableViewCell(style: .Default,reuseIdentifier: cellName) } cell!.textLabel?.text = "test" return cell! } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |