Swift 使用委托实现功能

Swift 使用委托实现功能

  1. 首先,将画面中按钮连线到 view 中
  2. // view 层代码
    @IBAction func modifyBtnDidTap(_ sender: Any) {
        }
  3. 在里面写明交给哪个委托去做(虽然这时委托做的内容还没写,但可以理解为新建一个委托)
  4. // view 层代码
    @IBAction func modifyBtnDidTap(_ sender: Any) {
            delegate?.modifyBtnDidTap()
        }

    委托名可以重名,所以这句话的意思就是点击后,委托给 modifyBtnDidTap 去做

  5. 刚才只是说可以理解为新建一个委托,但实际上,声明一个委托是在另外一个文件去做,我们要创建一个 xxxxxdelegate.swift 文件来声明
  6. // delegate 文件代码
    @objc protocol 001Delegate {
        func modifyBtnDidTap()
    }
    
    
  7. 这些都做好后就要实现功能了,实现功能是在 controller 层里完成
  8. // controller 层代码
    extension 001ViewController: 001Delegate {
    }

    写一个扩展,在controller里实现委托的功能

  9. 然后在里面以方法的形式实现功能,比如我这边实现一个跳转页面的功能
  10. extension 001ViewController: 001Delegate {
        func modifyBtnDidTap() {
            let vc = 020ViewController()
            // 画面迁移
            transitionFront(viewController: vc, isNavigate: true)
        }
    }