• 【swift学习笔记】二.页面转跳数据回传


    上一篇我们介绍了页面转跳:【swift学习笔记】一.页面转跳的条件判断和传值

    这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字,回传到父页面。

      我是使用protocol去实现的回传。那让我们来创建一个protocol

    import Foundation
    
    protocol ValueBackDelegate {
        func ValueBack(value: String)
    }

      

      protocol可以理解为interface,ValueBack方法就是回传的数据。我们要去找一个类去实现他

    就我们的第一个页面,ViewController

    class ViewController: UIViewController , ValueBackDelegate 

    还要实现protocol的方法,我们让textfield去接收回传过来的数据。

        func ValueBack(value: String) {
            teName.text! = value
        }

    页面2我们要来一个protocol属性,在返回的时候,我们把传过来的值加上“回传”两个字

    并返回到页面1

    var valueBackDelegate: ValueBackDelegate?
    
    
        @IBAction func backToParent(sender: AnyObject) {
            if let a = valueBackDelegate {
                a.ValueBack(receiveName.text! + "回传")
            }
            self.dismissViewControllerAnimated(true, completion: nil)
        }

    再回到我们的页面1,我们要把实现了protocol的页面1传给页面2的valueBackDelegate

        override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
            if segue.identifier == "openView" {
                if let secondView = segue.destinationViewController as? SecondViewController {
                    secondView.receivedStr = teName.text!
                    secondView.valueBackDelegate = self
                }
            }
        }

    到这就全部ok,很简单吧。

    完整代码:数据回传.zip

  • 相关阅读:
    aes加密
    获取当前系统的版本号
    解决eclipse中出现Resource is out of sync with the file system问题
    Mac系统打开命令行终端及查看操作系统版本号的方法
    android短信拦截
    android权限大全
    mac系统下的常用命令
    android 中 系统日期时间的获取
    ubuntu tor浏览器
    Python中的random模块
  • 原文地址:https://www.cnblogs.com/li-peng/p/5531370.html
Copyright © 2020-2023  润新知