美文网首页
IOS-Swift-cell的重用机制:

IOS-Swift-cell的重用机制:

作者: 任任任任师艳 | 来源:发表于2016-11-29 08:14 被阅读0次

    AppDelegate:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        
        self.window = UIWindow(frame: UIScreen.main.bounds)
        self.window?.backgroundColor = #colorLiteral(red: 0.2588235438, green: 0.7568627596, blue: 0.9686274529, alpha: 1)
        self.window?.makeKeyAndVisible()
        self.window?.rootViewController = ViewController()
        return true
    }
    

    ViewController:
    import UIKit
    //屏幕的宽
    let kScreenWidth = UIScreen.main.bounds.size.width
    //屏幕的高
    let kScreenHeigh = UIScreen.main.bounds.size.height

    class ViewController: UIViewController,UITableViewDataSource {
    var tableView : UITableView!
    //
    override func loadView() {
    tableView = UITableView(frame: UIScreen.main.bounds, style: .grouped)
    self.view = tableView
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.rowHeight = 184
        tableView.separatorStyle = .singleLine
        tableView.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
        tableView.separatorColor = UIColor.red
    
        tableView.tableFooterView = UIView()
        tableView.dataSource = self
    }
    
    
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return 100
        }
        /*
         UITableCell的重用
         先去重用池中找对应重用标识的cell,如果找不到就自己创建,找得到就直接拿来用
         */
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                  //1.准备重用的标识
            let identifer = "cell"
            
            //2.tableView去重用池中根据重用标识取cell
            var cell = tableView.dequeueReusableCell(withIdentifier: identifer)
            //如果cell为空就自己创建
            if cell == nil {
            cell = UITableViewCell(style: .default, reuseIdentifier: identifer)
                print("创建cell")
            }
            cell?.textLabel?.text = "行号\(indexPath.row)"
            
            
            return cell!
        }
        func numberOfSections(in tableView: UITableView) -> Int {
            return 5
        }
    
    

    相关文章

      网友评论

          本文标题:IOS-Swift-cell的重用机制:

          本文链接:https://www.haomeiwen.com/subject/iddapttx.html