委托代理(delegate)

心得:delegate的命名要准确,尽量看名字就知道用法。delegate和通知有的用法有些象,但是前者是单对单的,后者是单对多的情况。

注意:在dealloc要把delegate至为nil,还有就是delegate设置属性的时候要用assign,不要用retain。

委托是指给一个对象提供机会对另一对象中的变化做出反应或者相应另一个对象的行为。其基本思想是协同解决问题。

在程序中:一般情况下

1.委托需要做的工作有:

1.1定义协议与方法

1.2声明委托变量

1.3设置代理

1.4通过委托变量调用委托方法

2.代理需要做的工作有:

2.1遵循协议

2.2实现委托方法

下面讲解一下使用委托实现页面传值的解决方法:

加入我们有两个ViewController 分别为:ViewController和TrendViewController

一 .需求:

我们要实现这样一个功能,当点击ViewController视图上的一个按钮的时候立刻跳转到TrendViewController,并且把一个String字符串传递过去。

二.解决方案:

1.在ViewController.h文件的最上边声明协议如下:

2.继续在ViewController.h中声明一个委托变量


3.进入ViewController.m文件在点击按钮事件函数中,设置代理


4.进入TrendViewController.h ,引用ViewController的头文件,并添加代理协议如下:


5.实现代理函数:


运行一下 OK.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 前言:因为Object-C是不支持多继承的,所以很多时候都是...
    LeaderBiao阅读 508评论 0 2
  • Protocol(协议) 一个协议是由一组方法组成,这组方法分为两类,@required:必须实现的方法 ,@op...
    逆战逆的态度阅读 471评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,554评论 30 472
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 1,464评论 0 3
  • 风 有 多 美 雪 竹 风拂过你的面颊, 花香扑来。 白杨树哗啦啦地歌唱, 风在飞舞。 昨夜空...
    xuezhu766阅读 284评论 0 0

友情链接更多精彩内容