文档章节

Swift中代理的定义使用

宁音雨雾
 宁音雨雾
发布于 2016/06/02 10:40
字数 203
阅读 68
收藏 0

 

Demo----->


第一步:
// 定义协议 协议名自己定
@objc protocol MyViewDelegate: NSObjectProtocol {

    // 什么都不修饰默认必须实现,加上optional可选实现
    
    /// 关闭控制器的代理方法
    func myViewDelegateMethod(param: NSString);
 
    
}

第二步:
    /**
     声明代理  代理 要使用 weak 属性关键字
     swift 属性默认都是strong  代理同样也需要使用weak
    */
    weak var myViewDelegate: MyViewDelegate?

第三步:

// 在需要的地方调用代理方法 
        myViewDelegate?.myViewDelegateMethod();

 
此时切换类

第四步:

// 在需要接收代理的地方设置代理
myView.myViewDelegate = self;

第五步:

// MARK:
// MARK: 代理方法实现 报错代表必须实现的代理方法未实现
extension 切换的类名: MyViewDelegate {
    
    func myViewDelegateMethod(param: NSString) {
        
        print("切换的类名中实现MyView的代理方法,得到的参数是:\(param)");
 

    }
}

 

© 著作权归作者所有

宁音雨雾
粉丝 55
博文 312
码字总数 48631
作品 0
东城
程序员
私信 提问
自定义选项卡实战swift(内附源码且精讲知识点)

App开发本质上是一种对人性的把握,我们在项目开发过程中经常需要自定义很多精美的控件,以此来获得更好的用户体验。 因此,掌握自定义控件是移动应用开发必备的一项技能。本篇文章我们就来快...

充电实践
2018/05/26
0
0
swift 用协议实现代理传值功能

swift 用协议实现代理传值功能 原文 http://blog.csdn.net/whzhaochao/article/details/34903239 1.功能简介 RootViewController中用个lable和一个按钮,点击按钮跳转到模态窗口。在模态窗口...

法斗斗
2016/06/23
91
0
Swift实现代理,通知,闭包传值

1.区别 原文链接,著作权归作者所有,侵权删 第一就是代理,这也是很常用的方式,特点是一对一的形式,而且逻辑结构非常清晰。实现起来较为简单:写协议 ,设置代理这个属性, 最好在你想通知代...

ufo00001
2017/08/14
0
0
Swift类扩展使用方法

Swift是没有OC中的分类的. 但可以进行类扩展, 一般用于实现代理方法. 类扩展中无法定义属性 使用方法: extension <#当前控制器名#>: <#代理协议#> { <#code#> } Swift中如果必须实现的代理方...

阴雨音语
2016/04/11
236
0
对于AlamoFire几点思考

本文由CocoaChina--BYB1132(论坛ID)翻译 原文:Thoughts On AlamoFire--Swift’s AFNetworking Implementation HTTP协议就是现代开发的同义词,对于有经验的iOS开发者来说, 熟悉并尽可能使...

刘星石
2016/03/02
26
0

没有更多内容

加载失败,请刷新页面

加载更多

YUM仓库配置及命令详解

导读 通过源代码编译的方式安装程序在灵活性、可定制性方面具有无可比拟的优势,但也正因为这种特性给管理员带来了额外的维护开销,当应用在大规模的服务器群集时存在一定的局限性。那么就需...

问题终结者
43分钟前
11
0
docker初学者

docker简介 在真正使用这项技术之前很难深刻的理解它的概念。 从简单的方面来说,docker就是一个轻量级的虚拟机。接下去的学习首先不妨抱着这个想法来看,让后慢慢寻找差别,最终我们会回来试...

街角的小丑
今天
15
0
了解下Hz单位的意思

今天看到计组的突然看到Hz这个单位,突然不知道它是啥意思,就百度了解啦下。 赫,是频率的基本单位,为纪念验证电磁波存在的德国物理学家海因里希·鲁道夫·赫兹(Heinrich Rudolf Hertz)而...

南桥北木
今天
11
0
Mysql的sql_mode模式

sql_mode 是一个很容易被忽视的配置,宽松模式下可能会被输入一些非准确数据,所以生产环境下会要求为严格模式,为了保持生产环境和开发环境,测试环境一致性,我们开发环境和测试环境也要配...

贾峰uk
今天
15
0
Qt程序打包发布方法(使用官方提供的windeployqt工具)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/toTheUnknown/article/details/81748179 如果使用到了Qt ...

shzwork
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部