• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

上一篇我们介绍了页面转跳:【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

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap