怎样实现代理?这时我们在做iphone程序时会遇到的一个问题,因为,我们希望在我们完成某些操作之后,处理一些数据,但是对这些数据的处具有一定的执行顺序依赖性。这样,我们就可以通过代理来实现了。
我们看一个问题,我们希望设计一个类,这个类在具体的操作完成到一定的程度(不一定是一个函数执行完成,但是我们要求这个执行点是确定的)之后能够执行我们想要的某些操作.
int testNum1;
int testNum2;
-(void)testMethod {
testNum1 = 0;
testNum2 = 0;
}
比如,在上面的代码中,我们希望实现的目标是在testNum1 = 0;执行完成之后在我们如果希望执行我们想要的任意可能的操作,在这些任意的操作执行之后又回过偷来执行testNum2 = 0;但是我们,我们并不想要重写这个函数并在这个函数的testNum1 = 0;和testNum2 = 0;之间加上我们的代码.因为这可能会导致重写大量的代码.我们现在需要避免这个问题,当然可以有很多方法,而代理方法就是其中的一种.下面来探讨代理的实现.
首先我们应该做的是代理的声明其申明格式如下:
@protocol DelegateName <NSObject>
@optional
@required
@end
其中用@optional声明的代理接口方法表示为可选其含义为,我们可以对这些接口实现,也可以不实现,但是@required声明的代理接口方法为如果代理可用则代理实现中必须实现。
声明了,代理我们需要做的就是使用代理,要使用代理我们还得要有方法来设置代
关于iphone程序代理的实现
最新推荐文章于 2024-04-17 16:10:04 发布