Swift Closures传值

场景: cell 中 button 点击的时候使用 闭包, 将点击事件 传到 对应的 vc

方法1:

  1. cell 中:
class MySignCell: UICollectionViewCell {

    typealias ButtonClickBlock = (Int)->Void

    var didClickButtonBlock: ButtonClickBlock?

    @IBAction func remindButtonClick(_ sender: UIButton) {

        if (didClickButtonBlock != nil) {

            didClickButtonBlock(sender.tag)
        }
    }

    override func awakeFromNib() {
        super.awakeFromNib()

    }
}
  1. 对应的 vc 中:
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let mysign_cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MySignCell", for: indexPath) as! MySignCell

        mysign_cell.didClickButtonBlock = { (button_tag) in

            print(button_tag)
        }

        return mysign_cell
    }

方法2:

  1. cell 中:
class MySignCell: UICollectionViewCell {

    var addBtnClick:(_ sender:UIButton) -> () = { _ in }

    @IBAction func remindButtonClick(_ sender: UIButton) {

        addBtnClick(sender)
    }

    override func awakeFromNib() {
        super.awakeFromNib()

    }
}
  1. 对应的 vc 中:
    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let mysign_cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MySignCell", for: indexPath) as! MySignCell

        mysign_cell.addBtnClick = { sender in

            print (sender.tag)
        }

        return mysign_cell
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 iOS里的UI控件其实没有几个,界面基本就是围绕那么几个控件灵活展开,最难的应属UICollectionVi...
    alenpaulkevin阅读 32,256评论 9 176
  • 苹果官方一直大力推行Swift,Swift的简洁跟高新能得到不少人的青睐,貌似Swift将要成为ios开发的...
    DOU_SHA_BAO阅读 5,547评论 0 1
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,347评论 1 14
  • 原文地址 定义collectionView的布局类型,流式布局 let layout = UICollection...
    GeniusLi阅读 7,247评论 0 3
  • 往世界的深处去,坐自己的那节车厢。 你所经历的,全部不可替代。 每一天都在午夜变成往事,你要把它们装订成册,一路生...
    听老胖讲故事阅读 3,097评论 0 0

友情链接更多精彩内容