swift 委托代理传值
委托代理
1.定义个协议
2.声明一个委托代理
3.指定委托代理,调用委托实现的协议方法
4实现LoadingDelegate协议
代码如下:
import UIKit
//1.定义个协议
protocol loadingDeleagte {
func didLoading(text: String)
} class HomeViewController: UIViewController { @IBOutlet weak var textFlied: UITextField! //2.声明一个委托代理
var delegate: loadingDeleagte? override func viewDidLoad() {
super.viewDidLoad() } @IBAction func backBtnClick(_ sender: AnyObject) { print("点击了")
//3实例一个 ViewController类
let loading = ViewController()
//指定委托代理是 loading 的实例
delegate = loading
//调用委托实现的协议方法
delegate?.didLoading(text: textFlied.text!)
} override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { UIApplication.shared.keyWindow?.endEditing(true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textLable: UILabel!
@IBOutlet weak var NextBtn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
}
//4实现LoadingDelegate协议
extension ViewController : loadingDeleagte {
func didLoading(text: String) {
print(text)
//值已经传过来了
}
}
swift 委托代理传值的更多相关文章
- swift闭包传值
不知道原理,就知道这么用的,皮毛上的那一点. 寻思着把以前的项目改成swift的,结果了,,, 反向传值 一. //类似于OC中的typedef typealias sendValueClosure= ...
- swift 协议传值的实现
首先呢说下结构 一个ViewController 一个ModelViewController 在ModelViewController中定义了一个协议 这个逻辑 从第一个界面进入第二个界面 从第二个 ...
- 利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值
实验说明 (1)正向传值:比如A类里地值要传给B类用,就是我们先在A类中声明一个B类对象(当然B类头文件要import过来),然后把A类中得某个 值传递给B类中得某个值(所以需要在B类中先准备一个变量 ...
- 窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用
协议与委托代理回调在之前的博客中也是经常提到和用到的在<Objective-C中的委托(代理)模式>和<iOS开发之窥探UICollectionViewController(四) - ...
- Swift: 比较Swift中闭包传值、OC中的Block传值
一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包 ...
- Swift 08.页面传值
OC中经常用到的一种初始化控制器的方法.比如A push B.并且将A的一个值:value 传递给B 使用.简单的办法就是 在B重构init方法.比如在.h 中定义: - ()initValue:(N ...
- [ios][swift]使用swift闭包进行viewcontroller反向传值
闭包参考:http://c.biancheng.net/cpp/html/2285.html 闭包详解 传值参考:http://www.tuicool.com/articles/vy2uUz Sw ...
- 利用Swift之协议语法实现页面间的传值功能
随着Swift 新开发语言的发布,又随着Xcode6.0.1的正式发布,利用swift编写iOS代码迫在眉睫,笔者在使用Objective-C开发近三年以来,对这种优雅的语法深感赞叹,下面我将对比式的 ...
- 【转】iOS开发-Protocol协议及委托代理(Delegate)传值
原文网址:http://www.cnblogs.com/GarveyCalvin/p/4210828.html 前言:因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来 ...
随机推荐
- Ubuntu之系统交换分区Swap增加与优化
http://os.51cto.com/art/201212/372860.htm http://blog.csdn.net/xingyu15/article/details/5570225 ...
- AcceptEx与WSAEventSelect和Accept
(转自论坛的一个帖子http://bbs.csdn.net/topics/280032853) AcceptEx主要用于向完成端口 投递一个或多个的连接请求..当有连接时进来,这里分两种情况: 1.A ...
- IC各元器件封装形式图解
CDIP-----Ceramic Dual In-Line Package CLCC-----Ceramic Leaded Chip Carrier CQFP-----Ceramic Quad Fla ...
- IoC框架---通俗概述
1 IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑. 图1:软件系统中耦合的对象 如果我们 ...
- jQuery(一)delegate() 方法
定义和用法 delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 使用 delegate() 方法的事件处理程序适用于当前或未来 ...
- CMSIS-DAP调试器
http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm CMSIS-DAP is the interface f ...
- Xcode 6 模拟器路径
原文地址:http://leancodingnow.com/xcode-6-simulator-folder/ 本文主要介绍一下Xcode 6的iOS模拟器的应用目录的变化. Xcode 5的iOS模 ...
- SCCM 2012系列之新特性
SCCM 2012站点类型: 站点 作用 相对于SCCM 2007 的变化 中心管理站点The central administration site(CAS) 中心管理站点协调内部站点的数据复制.使 ...
- 基于Andoird 4.2.2的同步框架源代码学习——同步发起端
关键组件: ContentResolver ContentService SyncManager SyncManager.ActiveSyncContext SyncManager.SyncOpera ...
- Hadoop: The Definitive Guide (3rd Edition)
chapter 1 解决计算能力不足的问题,不是去制造更大的计算机,而是用更多的计算机来解决问题. 我们生活在一个数据的时代.“大数据”的到来不仅仅是影响到那些科研和金融机构,对小型企业以及我们个人都 ...