代理的定义及使用

1.在需要把数据传到外面的地方申明代理

@protocol NextViewControllerDelegate <NSObject>

2.声明代理方法

- (void)didLoadDataWithMessage:(NSString *)message;//定义或申明

@end//对应@protocol

一般代理定义在  #import<UIKit/UIKit.h>  至  @interface之间

3.定义属性   实现代理方可以通过这个属性  找到这个代理(较难理解)

@property (nonatomic, assign)id<NextViewControllerDelegate>delegate;//NextViewControllerDelegate为你的代理名

4.代理一般用于传值,在需要传值的地方调用代理

[self.delegate didLoadDataWithMessage:@"hehehe"];//将hehehe传给实现代理的地方

5.在需要传值的地方  引入代理  @interface ViewController ()<NextViewControllerDelegate>

6.定义变量,挂上代理(用声明代理的类,定义对象,挂上代理)

NextViewController *nextView = [[NextViewController alloc]init];

//    5.挂上代理

nextView.delegate = self;

7.实现代理方法  接收传过来的值

- (void)didLoadDataWithMessage:(NSString *)message{

NSLog(@"%@",message);

label.text = message;

}

最后希望看到这篇文章的人多评论,以便改善,当然我不介意大家关注我,大家一起学习,一起进步,谢谢!

时间: 2024-12-12 13:16:54

代理的定义及使用的相关文章

皇冠代理网:定义了消息传递的实体属性字段等信息

概率论是许多机器学习算法的基础,所以深刻理解这一主题就显得十分重要.皇冠代理网第3章在计算特征值取某个值的概率时涉及了一些概率知识,在那里我们先统计特征在数据集中取某个特定值的次数,然后除以数据集的实例总数,就得到了特征取该值的概率.我们将在此基础上深人讨论.我们之前也是通过过滤器来验证对于Action的操作权限,接口也不例外,在Action切入,在每次访问的时候都附带Token信息,也许你可以通过下列在Http请求头中来附加Token有时候在生活中,你需要一个JavaScript倒计时时钟,而

iOS delegate, 代理/委托与协议.

之前知知道iOS协议怎么写, 以为真的跟特么java接口一样, 后来发现完全不是. 首先, 说说应用场景, 就是当你要用一个程序类, 或者说逻辑类, 去控制一个storyboard里面的label, 发现如果直接用 UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];//由storyboard根据myView的storyBoardID来

JDK动态代理

一.基本概念 1.什么是代理? 在阐述JDK动态代理之前,我们很有必要先来弄明白代理的概念.代理这个词本身并不是计算机专用术语,它是生活中一个常用的概念.这里引用维基百科上的一句话对代理进行定义: A proxy is an agent or substitute authorized to act for another person or a document which authorizes the agent so to act. 意思是说:代理指的是一个代理人(或替代品),它被授权代表

彻底理解JAVA动态代理

注:本文转自 http://www.cnblogs.com/flyoung2008/archive/2013/08/11/3251148.html 代理设计模式 定义:为其他对象提供一种代理以控制对这个对象的访问. 代理模式的结构如下图所示. 动态代理使用 java动态代理机制以巧妙的方式实现了代理模式的设计理念. 代理模式示例代码 public interface Subject { public void doSomething(); } public class RealSubject i

静态代理模式

package 代理模式; /** * 定义一个代理类,该代理类是一个接口 * @author lang *背景:代理模式就是假如C想从香港买点奶粉,但是C去不了香港,又不认识香港的朋友,C只好去超市看有没有奶粉 *此时超市就是代理,但背后并不是超市跑到香港去买的奶粉,而是送货的充当了背后的角色,不多说,看代码 */ public interface Proxy { /** * 定义了一个代购的方法(买东西,例如从香港买奶粉回来) */ public void buySomeThing(); /

使用代理的方法

先搞清楚谁是谁的代理(delegate) 定义代理协议,协议名称的命名规范:控件类名 + Delegate 定义代理方法 代理方法一般都定义为@optional 代理方法名都以控件名开头 代理方法至少有1个参数,将控件本身传递出去 设置代理(delegate)对象  (比如myView.delegate = xxxx;) 代理对象遵守协议 代理对象实现协议里面该实现的方法 在恰当的时刻调用代理对象(delegate)的代理方法,通知代理发生了什么事情 (在调用之前判断代理是否实现了该代理方法)

设计模式之结构型模式—— 2.7 代理模式

<?php /**  * 2.7 代理模式  * 定义:  *      为其他对象提供一种代理以控制对这个对象的访问.  * 角色:  *      1. 代理抽象角色  *          职责:统一代理和被代理角色接口  *      2. 被代理角色  *          职责:  *      3. 代理角色  *          职责:代理角色2,并对角色2进行访问控制.  * 优点:  *      1. 职责清晰  *      2. 高扩展性  *      3. 智能化

JAVA静态&amp;动态代理

具体场景 为了使代理类和被代理类对第三方有相同的函数,代理类和被代理类一般实现一个公共的interface,该interface定义如下 public interface Calculator { public Integer add(Integer num1, Integer num2); public Integer minus(Integer num1, Integer num2); } 被代理类定义如下 public class CalculatorImpl implements Cal

代理(Proxy)和反射(Reflection)

前面的话 ES5和ES6致力于为开发者提供JS已有却不可调用的功能.例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了Object.defineProperty()方法来支持开发者去做JS引擎早就可以实现的事情.ES6添加了一些内建对象,赋予开发者更多访问JS引擎的能力.代理(Proxy)是一种可以拦截并改变底层JS引擎操作的包装器,在新语言中通过它暴露内部运作的对象,从而让开发者可以创建内建的对象.本文将详细介绍代