美文网首页Ios开发iOS学习开发Swift
Swift-dequeueReusableCell与dequeu

Swift-dequeueReusableCell与dequeu

作者: FlyElephant | 来源:发表于2017-03-23 13:51 被阅读1367次

    UITableView中单元格复用有两种方法,dequeueReusableCell与dequeueReusableCell:indexPath.
    <pre><code>` open func dequeueReusableCell(withIdentifier identifier: String) -> UITableViewCell? // Used by the delegate to acquire an already allocated cell, in lieu of allocating a new one.

    @available(iOS 6.0, *)
    open func dequeueReusableCell(withIdentifier identifier: String, for indexPath: IndexPath) -> UITableViewCell // newer dequeue method guarantees a cell is returned and resized properly, assuming identifier is registered`</code></pre>
    

    ① 第一种方法最常用,不管UITableView是否注册,都可以执行以下代码:
    <pre><code>var cell:UITableViewCell? = tableView.dequeueReusableCell(withIdentifier: "CustomTableCell") if cell == nil { cell = UITableViewCell.init(style: .default, reuseIdentifier: "CustomTableCell") }</code></pre>

    ② 第二种方法要求UITableView必须注册类或者nib文件:
    <pre><code>self.tableView.register(UINib.init(nibName: "CustomTableCell", bundle:.main), forCellReuseIdentifier: "CustomTableCell")</code></pre>

    <pre><code>let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "CustomTableCell", for: indexPath)</code></pre>
    如果注册过,第一种方法的cell == nil判断则不需要执行~

    相关文章

      网友评论

        本文标题:Swift-dequeueReusableCell与dequeu

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