美文网首页
Swift中代理定义使用

Swift中代理定义使用

作者: 小黑技术 | 来源:发表于2022-03-31 10:02 被阅读0次

    简单分为以下六步:

    1.委托方 定义协议, 只要遵守协议, 都能使用我的委托方法

    2.委托方 定义协议方法

    3.委托方 声明代理属性

    4.委托方 执行代理

    5.被委托方 遵守代理协议, 第一次实例化委托方时 设置代理

    6.被委托方 调用代理方法

    // 01. 定义协议

    protocol LeftItemDelegate: NSObjectProtocol{

        // 02. 定义协议方法

        func ItemSelectIndexPathClick (IndexPath:Int)

    }

      // 03. 声明代理属性 (注:使用weak修饰, 该协议需要继承NSObjectProtocol基协议, 且注意代理名称是否重复)

          weak var delegate: LeftItemDelegate?

            // 04. 执行代理

            delegate?.ItemSelectIndexPathClick(IndexPath: indexPath.row)

     // 05.2 在第一次实例化 LeftView 的时候, 设置代理

            LeftView.delegate = self

    // 05.1 遵守代理协议

    /** extension

     -- extension 类似于 OC 中的 Category

     -- 格式: extension 类名 {}

     -- Swift中 代码可读性差, 通过 extension 完成代码分块, 增强可读性, 单一模块单独处理, 增大了当前类的作用域

     -- extension 中 可以添加计算型属性 不能添加存储型属性; 可以定义便利构造函数 不能定义指定构造函数

     */

    extension MainRootController: LeftItemDelegate{

        // 06. 实现代理方法

        func ItemSelectIndexPathClick(IndexPath: Int) {

            print("ViewController中监听到了按钮点击")

            simpleManager.scrollToIndex(index: IndexPath)

        }

    }

    相关文章

      网友评论

          本文标题:Swift中代理定义使用

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