Swift3.0 block 传值

来源:互联网 发布:网络规划设计师 编辑:程序博客网 时间:2024/06/03 13:58

浅谈swift3 的block传值,有 a 界面跳到 b 界面,然后再从 b 界面返回 a 界面,同时 把 b 界面的数据用block传值传到 a 界面:
a界面跳到b 界面的代码

 func RightButtonClick()  {        let TagVC = TagViewController()        TagVC.hidesBottomBarWhenPushed = true        TagVC.title = "标签"        //block回传        TagVC.switchoverCallblock = {            (selectedArr,recommendArr,index) -> () in           self.selectedArr = selectedArr           self.recommendArr = recommendArr           self.title = selectedArr[index]        }        self.navigationController?.pushViewController(TagVC, animated: true)    }

b 界面回传a 界面 值:
定义block

class TagViewController: UIViewController,UICollectionViewDataSource,UICollectionViewDelegate{    //定义block    var switchoverCallblock: ((_ selectedArr: [String], _ recommendArr: [String], _ index:Int) -> ())?    var selectedArr = ["推荐","河北",""理财"]    var recommendArr = ["有声","家居","育儿"]    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}

回调传值

 if switchoverCallblock != nil {          switchoverCallblock!(selectedArr,recommendArr,indexPath.item)                    _ = navigationController?.popViewController(animated: true)    }

这就是简单的swift block传值

0 0
原创粉丝点击