美文网首页
Swift正反向传值

Swift正反向传值

作者: 野比大雄001 | 来源:发表于2017-05-04 14:15 被阅读162次

正向传值:

1、在B界面中声明一个公开接收的属性,可以是字符串或者整形变量

var passValue = ""

2、在A界面跳转B界面方法前,给B界面的控制器接收属性赋值

welcomeVc.passString1 = passValue

3、在B界面加载视图或者视图显示时,利用控件显示公开接收属性值

self.showTextField.text = passValue

反向传值:

a、Block闭包使用步骤:

1.在B界面中声明一个block

typealias PassValueBlock = (String, String)->()

2.持有一个block变量

var backBlock: PassValueBlock?

3.调用

if self.backBlcok != nil {

if let tempStr1 = self.showTF1.text, let tempStr2 = self.showTF2.text {

self.backBlcok!(tempStr1, tempStr2)

}

}

4.在A界面中需要接受值的地方

let welcomeVc = WelcomeViewController()

welcomeVc.backBlcok = {

(backStr1: String, backStr2: String) -> Void in

self.usernameTextField.text = backStr1

self.passwordTextField.text = backStr2

}

b、Delegate委托使用步骤:

1.在B界面中声明一组公开的协议

//声明一组公开的协议(反向传值)

protocol PassValueDelegate: NSObjectProtocol {

func testDelegate(str1: String, str2: String) -> Void

}

2.在B界面中声明一个公开的delegate属性

weak var delegate: PassValueDelegate?

3.向delegate发送消息,把参数传送给被委托方

if self.delegate != nil {

if let tempStr1 = self.showTF1.text, let tempStr2 = self.showTF2.text {

delegate?.testDelegate(str1: tempStr1, str2: tempStr2)

}

}

4.遵守协议

5.实现协议中规定的方法,在A界面中需要接受值的地方

func testDelegate(str1: String, str2: String) -> Void{

self.usernameTextField.text = str1

self.passwordTextField.text = str2

}

6.将自己设置成被委托对象

welcomeVc.delegate = self

相关文章

  • swift 反向传值

    新建

  • swift 代理传值

    swift中的代理传值跟oc中的用法基本一样,都是用于反向传值,这里假设a界面向b界面传值为正向传值,则: 在b界...

  • Swift正反向传值

    正向传值: 1、在B界面中声明一个公开接收的属性,可以是字符串或者整形变量 var passValue = "" ...

  • 【iOS开发细节】之- delegate代理的使用

    在iOS开发中、好多时候需要涉及到页面传值、而传值又分为正向传值和反向传值 一、 传值 1、正向传值 2、反向传值...

  • OC中反向传值的方法

    oc中反向传值四种方法 block反向传值 在需要传值的界面: 在接受到传值的界面 单例反向传值 创建一个单例类 ...

  • reactNative 之组件传值和反向传值

    在项目中我们经常会遇到传值,传值有正向传值和反向传值,比如1.正向传值:从A组件push到B组件传值2.反向传值:...

  • swift 闭包传值

    在oc 中,反向传值可以采用block块来实现,同样,在swift 中也有类似的闭包,下面就闭包传值进行简单的介绍...

  • React-Natvie Navigtor正向反向传值

    正向传值 利用属性反向传值

  • 传值

    在之前也写过正反向传值的文章,不过语言是Swift的(http://www.jianshu.com/p/be608...

  • swift 闭包反向传值

    1.首先在要传值的页面 定义typealias TestBlock = (model: 要传数据的类型)->()2...

网友评论

      本文标题:Swift正反向传值

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