美文网首页
闭包修改cell的内容,防止引用循环

闭包修改cell的内容,防止引用循环

作者: 落夏简叶 | 来源:发表于2019-01-25 14:49 被阅读4次

代码基于: Swift 4.0

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "XXTestCell", for: indexPath) as! XXTestCell
        // 防止引用循环
        // 1. 重新获取一个局部cell
//        cell.buttonCallBack = {
//            let cell = tableView.cellForRow(at: indexPath) as? XXTestCell
//            cell?.configureLabel(with: "110")
//        }
        
        // 2.不用重新获取,[weak cell]方式。以前没用过,用了之后发现很好用(推荐这种)
        cell.buttonCallBack = { [weak cell] in
            cell?.configureLabel(with: "110")
        }
        
        return cell
    }

相关文章

  • 闭包修改cell的内容,防止引用循环

    代码基于: Swift 4.0

  • iOS 中的内存管理优化

    闭包 外面将强引用对象转化为弱引用指针,防止循环引用 block内弱引用转换成strong强引用指针,防止多线程和...

  • iOS闭包循环引用精讲

    iOS闭包循环引用精讲 iOS闭包循环引用精讲

  • Swift入门二(对象函数)

    函数 闭包 GCD 尾随闭包 闭包循环引用解决(OC) 闭包循环引用解决(swift推荐) 面向对象 命名空间: ...

  • Day2

    1 单方向的引用不会产生循环引用。循环引用:闭包引用了self,self引用了闭包。Swift推荐使用解决循环引用...

  • Swift语法--12-3闭包的循环引用

    Swift语法--12-3闭包的循环引用 闭包循环引用产生条件 如果在HttpTool中有对闭包进行强引用,则会形...

  • Block、协议、通知

    Block 注: 将闭包放到自己成员函数内部,防止出现循环引用 CustomView.h文件 CustomView...

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

  • 闭包中的循环引用及解决方法

    闭包中的循环引用 闭包中的循环引用原理和OC中的block类似。即对象A强引用了对象B,然后B也强引用了A。示例如...

  • swift中的内存管理

    基于引用计数的ARC内存管理 循环引用 使用[weak ***]解决循环饮用 逃逸闭包 闭包的调用逃离了函数的作用域

网友评论

      本文标题:闭包修改cell的内容,防止引用循环

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