
视图VIEwController
class VIEwController: UIVIEwController{ @IBOutlet weak var valueLabel: UILabel! var secVC:SecondController = SecondController() overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() secVC.myClosure = {(text:String) -> VoID in print("\(text)") self.valueLabel.text = text } } @IBAction func push() { self.navigationController?.pushVIEwController(secVC,animated: true) }}
视图二
import UIKit// 闭包typealias sendValueClosure = (text:String)->VoIDclass SecondController: UIVIEwController { var myClosure:sendValueClosure? var textFIEld: UITextFIEld! overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() self.vIEw.backgroundcolor = UIcolor.redcolor() textFIEld = UITextFIEld(frame: CGRectMake(30,100,260,30)) textFIEld.borderStyle = UITextborderStyle.RoundedRect self.vIEw.addSubvIEw(textFIEld) let btn = UIbutton(frame: CGRectMake(30,150,30)) btn.setTitle("click",forState: UIControlState.normal) btn.addTarget(self,action: #selector(SecondController.click),forControlEvents: UIControlEvents.touchUpInsIDe) self.vIEw.addSubvIEw(btn) } // 点击这里传值过去 func click() { let str:String = textFIEld.text! if (myClosure != nil){ myClosure!(text:str) } self.navigationController?.popVIEwControllerAnimated(true) }} 当点击click 运行结果为 总结
以上是内存溢出为你收集整理的swift基础利用闭包在两个视图界面传值全部内容,希望文章能够帮你解决swift基础利用闭包在两个视图界面传值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)